database - 水平数据库和垂直数据库

标签 database social-networking gedcom

我正在一个社交网站上工作,该网站的家谱符合 GEDCOM 标准。我们需要决定是否应该为用户配置文件使用水平或垂直数据库结构。所以,我想知道是否有人可以回答何时使用水平数据库结构以及何时使用垂直数据库结构。

对于未定字段的购物网站,我找到了一些答案:应该使用垂直数据库结构。但是我对家谱网站使用什么感到困惑。我应该使用垂直还是水平?

最佳答案

我假设您使用关系型数据库,如 Mysql、Ms sql、Sqlite、Postgresql 或 Oracle 进行存储?

Gedcom 是信息交换的标准,因此您知道您将拥有多少列。也许将来会使用新属性扩展标准,但可能不会有很多新属性。您可以轻松地使用几个新列来扩展表格。

我会使用“水平”表而不是实体属性字节值系统(垂直表)。垂直表系统往往很慢。它们无法正确索引并混淆查询优化器。

当您的用户可以在他们的配置文件中定义新属性(例如眼睛颜色(u)r 或自己最喜欢的颜色(u)r)时,情况就不同了。您希望这些配置文件有多灵活?

关于database - 水平数据库和垂直数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1830721/

相关文章:

MySQL 索引创建

php - 将现有网站信息传递到 PHP/MySQL 数据库而不使用 FORM

Android 数据库损坏,但可以在 SQLite 管理器中打开。可恢复?

python : generate a graph for a social network

python - 遵循 AppEngine 上的数据存储模型结构 - 按日期对关注者排序

javascript - 如何在 d3js 中按不同组对链接进行着色

database-schema - 出生和死亡是否作为事件建模为家谱中的事件或属性

python - SQLite3 数据库如何合并?