我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:白小姐 > 分布式算法 >

分布式系统为什么要选mysql数据库

归档日期:08-04       文本归类:分布式算法      文章编辑:爱尚语录

  分布式系统看它是否支持事务,如果用在统计分析场景中,不需要支持事务,这时候分布式的各个节点,选择列存储更好,选择mysql是一种错误,它不适合分析型场景。

  如果是事务场景,并发数和数据量都极大,需要分布式场景, 将数据按照一定的规则分布在不同的服务器(节点)上,每个节点采用某类型的行存数据库, 如果要满足需求的行存数据库需要有以下特点

  数据仓库就是数据库,只不过是按照业界不同的提法说法不同而已; 一般的数据仓库的说法是要建立一个高性能的可查询数据库,一般说来是提供高效的查询而不是交互。 从软件出发考虑: MySQL现有的几种数据库从5.5后缺省的数据引擎是Innodb, 性能在查询上和MyISAM差不多,不过对事物的支持更加好。 如果需要建立一个有规模的数据仓库首先必须考虑查询和聚合运算的效率问题, 从MySQL内部的函数的使用效率出发选用innodb可以支持复杂的存储过程让运算集中在服务器上运行,可以高效的发挥服务器的运算性能和SQL集合运算的效率。 从平台考虑: 数据仓库的数据源可能来自不同的操作系统和数据库, 怎么把数据同步到本地可以参考通用的方法,作为数据仓库需要考虑的是数据的一致性,比如一个流程的不同环节的数据来自不同的数据库,这时就需要考虑怎么来定制来保证数据的时效和一致,比如不允许第一步的数据还未进行同步,第二步的数据就已经同步到本地,这样的话后台的应用在读取数据的时候就会非常的混乱 从硬件出发考虑: 数据仓库一般是从业务数据库导出到另外一个独立数据库作为计算分析, 这样的好处在于把计算分开,避免非业务的大规模运算对正常业务的影响。即使软硬件崩溃也不会对正常业务造成影响,而数据重建只需要按照原来的方法恢复即可。在往数据仓库上同步数据的过程要灵活考虑数据同步的方法,缺省可直接使用Mysql的主从备份。 如果不想对业务服务器造成太多影响,也可以采用自己定制的方法来进行增量备份和差异备份。 从SQL的使用出发考虑: 能够交由SQL完成的工作最好全部使用SQL来完成聚合,表和表进行联合的时候先进行添加约束,和外部的程序,比如统计分析的计算,尽量让SQL输出一个计算后的数据集给后台应用。

本文链接:http://frankstella.net/fenbushisuanfa/1050.html