分布式数据库系统通常使用较小的计算机系统,每台计算机可单独放在一个地方,每台计算机中都可能有DBMS的一份完整拷贝副本,或者部分拷贝副本,并具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。
比较火的分布式数据库有tidb和 sequoiadb
当前做分布式的厂商有几家,我知道比较出名的有“华为云分布式数据库DDM”和“阿里云分布式数据库”,感兴趣可以自行搜素了解下。
分布式数据库的几点概念可以了解一下。
数据分库:
以表为单位,把原有数据库切分成多个数据库。切分后不同的表存储在不同的数据库上。
以表中的数据行记录为单位,把原有逻辑数据库切分成多个物理数据库分片,表数据记录分布存储在各个分片上。
路由分发:
在分布式数据库中,路由的作用即将SQL语句进行解析,并转发到正确的分片上,保证SQL执行后得到正确的结果,并且节约QPS资源。
读写分离:
数据库中对计算和缓存资源消耗较多的往往是密集或复杂的SQL查询。当系统资源被查询语句消耗,反过来会影响数据写入 *** 作,进而导致数据库整体性能下降,响应缓慢。因此,当数据库CPU和内存资源占用居高不下,且读写比例较高时,可以为数据库添加只读数据库。
"可以采用开源的MyCat解决方案,优点是免费,缺点是出现问题可能要自己解决或者去社区寻找解决方案;也可以采用北京万里开源软件有限公司的集群解决方案,后端使用开源的MySQL存储数据,优点是有任何问题他们都可以帮忙解决,而且不用担心系统后续的扩展、集群高可用等情况,他们的工程师还开发过MySQL核心代码,找他们可以睡个安稳觉,缺点是不免费,他们还有自己的国产数据库GreatDB,100%兼容MySQL。
对于初创企业,可以考虑选择免费的开源解决方案,毕竟遇到的问题可能有限,如果要想长期稳定发展,还是选择万里开源这样的公司比较靠谱一些。"
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)