首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可伸缩数据模型学习材料

可伸缩数据模型学习材料
EN

Stack Overflow用户
提问于 2015-08-23 11:58:09
回答 1查看 314关注 0票数 0

我正在寻找一套书籍/材料,帮助我重新设计我们现有的数据模型。

目前,我们有一个带有MySQL的关系数据库,它有很多相关的表。我正在寻找一个更好的解决方案,以最小化连接/延迟加载计数,但仍然保持关系结构。我一直在寻找PostgreSQL 9.4 (具有JSONB功能),但我找不到涵盖使用关系和JSON格式的数据建模的最新书籍。

我有5年的工作经验,在MySQL (和一点点Postgres)。我有从乞讨中创建关系数据模型的经验,并且还使用现有的中小型系统(每月新条目约500 000条)。

背景故事(也许是有帮助的)

我们是一家初创公司(面向全球市场),目前在我们的网站上拥有大约100名每日用户(不断增长)。这引起了我们的注意,我们应该开始考虑我们的扩大战略。

我在我们的系统中看到的第一个问题是我们的数据模型。我们的模型建立在MySQL之上,并且有相当多的与FK相关的表。在服务器之间共享这种结构化数据将非常困难。因此,我们的计划是重新设计我们的数据库,以支持更多的水平扩展(我们目前的用户数量很小,因此重新设计数据模型比较容易)。

重要的是要提到,既然我们每周都在创建和销毁功能,那么数据库仍然在增长。一些瓶颈已经确定了自己,但还不清楚到底哪种数据需要更大的扩展。

EN

回答 1

Stack Overflow用户

发布于 2015-08-24 18:29:18

有很多关于构建各种类型的数据模型的好书,其中没有一本书会建议去掉外键,转而使用JSON。添加JSON并没有改变数据库的设计方式,因此没有人为它重写他们的数据库书籍。关系数据库是有目的的关系数据库,并且具有很强的可伸缩性。

如果你想要一本关于棘手的数据库设计问题的好系列书,我建议乔·塞尔科的优秀书籍。他可以有点自以为是,但总的来说,他提供了很多好的建议。

如果您有延迟加载的问题,听起来您的问题可能是您的ORM,并且您遇到了可怕的N+1问题,您正在执行许多只有一个才能工作的查询。

您在数据库中讨论的用户数(假设每个用户不是在查询一兆字节的数据)应该能够在最小和最便宜的硬件上轻松运行。

postgres中的JSONB不是为了摆脱良好的数据库结构(去规范化),而是为您在表中需要文档存储时提供一个工具。

与我一起工作的一个初创公司的价值是,每天有一个大型的Postgres数据库150GB+被超过100个表的100K+用户访问,并在一个查询中常规地加入10+表,而且它很容易地运行在一个被复制和备份的单一(尽管强大)数据库上。我和其他人谈过,他们会说这是一个相对较小的数据库。

你在你的行动中说过:

在服务器之间共享这种结构化数据将非常困难。

如果您正在讨论跨多个数据库服务器共享数据。我建议你走上过早优化的道路。虽然真正的大公司需要切分数据库,但这些数据库并不多,但大多数公司,特别是初创企业,都不应该考虑这个问题,它们有更重要的事情要考虑。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32166397

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档