成本可以分为开发测试成本、数据库的软硬件成本、运营维护成本等。开发测试成本主要是开发该项目的人力成本,这个因项目而异。分布式数据库的硬件成本主要包括PC服务器加本地SSD盘,软件成本因厂商而异。有其他文章进行过比对,引用如下。
根据具体的情况不一样,成本表现也不同,根据我行的经验,硬件成本》运维成本》
应用改造成本,我们在数据库规范这块做的比较彻底,很早就执行了统一的标准,不容许采用存储过程,事务大小限制,统一mysql数据库协议等措施,所以应用基本上在mysql数据库和分布式数据库之前迁移应用改造成本很低。
运维成本由于之前数据库方向就是确定mysql,运维人员的技术储备都是满足分布式数据库的要求,mysql和分布式数据库的转换成本很小。
我们采用分布式数据库,最大的成本就是硬件成本,由于分布式数据库对服务器处理器和IO要求较高,并且由于我们采用的分布式数据库的产品对租户隔离性做的不好,造成重要应用都是当个集群,单个集群最小的服务器数量是6台,所以我们分布式数据库的PC服务器投入量很大。
由于我们采用的分布式数据库是开源运营方式,如果不考虑厂商的服务可以不用采购,我们针对重要系统购买了一部分license许可,外围系统都是自主运维,所以在成本上相比oracle要便宜很多。