这种情况下有中央DB SERVER吗?
我有多个包含相同表架构的服务器,但每个服务器负责整体数据的一部分。没有一台机器需要包含所有数据。每台机器仅包含与其部门相关的数据。
是否有一个包含所有数据的中央数据库服务器,或者只是一个可用于访问其他服务器的中央数据库服务器?
I have multiple servers containing the same table schema, but each responsible for a portion of the overall data. No one machine needs to contain all the data. Each machine only contains data relating to its department.
Is there a central database server which will contain all the data, or just a central database server which can be used to access the other servers?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
听起来您正在做的事情是对数据进行分区。请记住 CAP 定理指出,您无法在所有情况下都具有可访问性和数据一致性在此配置中的时间。通常,您将拥有数据服务器(如您的示例中所示),然后使用 SQL 之类的工具进行读/写的不同服务器。它们可以是分布式的(只要它们了解所有数据服务器)。请记住,“在分布式系统中,没有中央真理仲裁者”。
我们在生产网络中使用相同的设置,其中较快的服务器是包含过去 2 年数据的集群,然后是较慢的存档服务器。根据查询,结果可以跨越整个服务器集合。如果报表需要存档数据,它会查询在幕后执行联接的单独服务器。
It sounds like what you are doing is partitioning the data. Remember the CAP Theorem states you cannot have accessibility and data consistency all the time in this configuration. Normally you'd have data servers (like in your example) and then different servers for read/writing using something like SQL. They can be distributed (just as long as they know about all the data servers). Just remember that 'in a distributed system there is no central arbiter of truth'.
We use the same came of setup in a production network, where the faster servers are a cluster with the last 2 years worth of data and then there are slower archive servers. Results can span the entire collection of servers depending on the query. If a report needs archived data it queries a separate server that performs a join behind the scenes.