数据/数据库设计模式?

时间:2010-10-20 16:46:40

标签: database design-patterns

我想更多地研究完整数据设计模式的主题。具体而言,存储,处理,缓存和检索数据的不同技术组合。换句话说,看看在facebook等大型系统中使用了多少组件。

据我所知,我们有RBMSNoSQL种数据库类别。但是,更多的技术(永久数据存储之外)对数据的实际使用至关重要 - 例如memcached。然而,我无法找到应该用于充分利用所有架构的总体设计模式。

有没有人有关于整个包设计模式的文章的链接,这些模式可以通过不同的数据库系统组件组合来实现?

这不是针对数据库特定最佳做法的问题,例如database normalization。也不是关于如何最好地使用certain technology

的问题

可以使用哪些设计模式正确地混合奇怪的技术,以利用每个优势来设计完整,高效的系统?从缓存,到CRUD,到扩展,再到数据完整性。

例如,在小型共享主机上,我可以运行像SQLite这样的博客,因为几乎所有的读取都没有写入。另一方面,有些项目是低端VPS,我可以使用MySQL + APC缓存(毕竟只有一台服务器),在高读/写时具有惊人的性能。有超过一个VPS memcached是冠军!

我也是MongoDB和PostgreSQL的粉丝。但是,MongoDB不使用任何形式的RAM限制,因此您应该拥有一个单独的服务器。然而,在MongoDB中存储大型对象并将其余重要数据留在PostgreSQL上是双赢的。

然而,这些都是非常基本的设计选择。大规模应用程序设计具有更多抽象,以促进扩展和减少故障点。

1 个答案:

答案 0 :(得分:1)

我的建议是阅读一般的databases,并着眼于了解使用过的storage structures种不同的类型。

获得此背景后,将当前技术(NoSQL)与存储结构(无架构,水平可伸缩)相匹配变得更加容易。