对上层系统的要求

对于使用万里开源安全数据库软件的上层应用部署有如下技术要求:

 

 

类别

技术要求

部署

  1. 应用与数据库分离部署

   应用的服务器与数据库的服务器分离部署,不要进行任何的复用。

  1. 应用与数据库的通信网络与数据库集群的内部网络分离

    应用程序连通数据库集群的网络建议与数据库集群内部节点间的网络分离;并且应用程序连通数据库集群的网络必须与数据库集群的数据备份网络分离,避免数据库备份传输的巨大网络流量影响业务。

 

连接数据库

  1. 应用与数据库的链接需要使用长链接或准长链接

   应用程序链接到数据库的链接需要是长链接,或者是准长链接,例如每分钟断开一次,或每1000笔交易断开一次。

  1. 应用需要能够自动重新链接数据库集群

   应用程序在与数据库的通信链接断开后需要能自动重新链接。某些故障场景下,应用到数据库集群的链接可能会断开,应用需要能自动重新链接或刷新应用的链接池。

 

库表设计

  1. 表必须有主键

    业务表要有主键,如果实在找不出主键,可以考虑添加自增列作为主键。

  1. 字符集

如无特殊情况,表字符集使用UTF8/UTF8mb4,应用程序端也使用UTF8/UTF8mb4。

  1. 命名

    禁止使用中文或特殊符号作为库名或表名。

SQL编写

  1. 避免大事务SQL

    避免一个SQL语句或一个事务操作大量数据,例如数百万行的变更。

  1. 重要SQL所使用的列必须被索引

    例如update、delete的where条件列、order by、group by、distinct字段、多表join字段。