我正在寻找一种方法来扩展我工作场所的基础设施。目前只有一个大小约为1.5TB的数据库。大多数查询都是OLTP类型,如insert、update、delete。
我在考虑使用诸如CitusDB、PostgresXL或MySQL fabric之类的工具来对数据库进行分片,但我不知道哪一种,以及这对我们来说是否是一个好的解决方案。
对于这些类型的查询,这些是一个很好的解决方案吗?
发布于 2016-08-31 16:13:36
Citus可以轻松处理大约1.5TB的数据,还可以运行插入、更新和删除查询。
有关更多信息,请查看文档:http://docs.citusdata.com/en/v5.2/performance/query_processing.html
Citus的数据摄取率:http://docs.citusdata.com/en/v5.2/performance/scaling_data_ingestion.html
发布于 2016-09-26 04:05:24
我看到到处都是可伸缩性的过度工程,所以让我快速地提出一个无意义的方法:
什么是自然分片键?通常是customer_id。如果客户或多或少是孤立的(在他们使用您的系统时),这将很好地工作。为每个客户创建一个数据库,并自动执行架构更改。您是否有适用于所有客户的数据?设置另一个仅保存此数据的数据库实例。从每个应用程序服务器建立两个连接。
您(也)需要交叉客户分析吗?每晚运行导出并脱机处理此问题。
可能不是每个人都适用,但根据我的经验,它适用于90%以上的业务应用程序。
哦..。你选择的技术显然无关紧要,但我会选择开源/免费。
发布于 2019-03-20 06:04:01
ClustrixDB定期处理具有大量TB数据的高写入联机事务处理工作负载。它具有无共享架构,是ACID,并内置了容错功能,它们最近被MariaDB收购。
https://stackoverflow.com/questions/38954387
复制相似问题