繁体   English   中英

使用分层数据结构对数据库进行分片

[英]sharding a database with hierarchical data structure

我正在使用 MySQL 来存储我的父子关系。 数据在一张表中。

我没有任何问题查询; 但是,该表的大小已显着增加。 我想分片或使用一些技术来提高我的查询(和连接)的性能。 我该怎么做?

这篇文章中没有足够的信息来给你一个好的答案。 我们需要知道的第一件事是表结构是什么。 你定义了非聚集索引还是只是一个聚集索引。

你的应用程序使用这个数据库,它对数据有什么作用?

此外,您是在搜索姓名字段还是特定日期? 如果是这样,这些可能是索引类型的候选者。

不过,要照顾的第一件事是索引

最好使用专业的分片中间件,例如: Apache ShardingSphere

它可以使用简单的方式通过 SQL 路由对数据库和表进行分片,无需连接跨数据库即可重写。 它可以使用由 Apache Calcite 提供支持的联合查询使用复杂的方式来处理跨数据库的连接。

我认为如果您的产品变得如此庞大,您将需要更高级的帮助。 dbShards是一个很好的起点。 他们将帮助您为您的数据设计一个分片策略,并且可以轻松地对任何需要它的表进行分片。 如果您的一张表变得太大,分片不是一个糟糕的选择。 我会检查 dbShards。 可能适用于这种情况。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM