首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库规范化和快速搜索

数据库规范化和快速搜索
EN

Stack Overflow用户
提问于 2011-01-04 20:29:47
回答 2查看 151关注 0票数 4

我正在研究内容解决方案集成的技术架构。来自解决方案提供商的数据有数百万行,并归一化为3NF。它按常规计划(最有可能是每天)更新,其数据被拆分到非常细粒度的原子性级别。

我需要搜索和查询这些数据,我现在倾向于不去管这些规范化的数据,而是从它的数据创建一个非规范化的数据库(从OLAP到OLTP)。“传输”可以是定制的程序,除了原始的复制能力之外,该程序还可以包含必要的业务逻辑,并且可以根据需要以设定的时间表运行。然后,非正规化的数据库将降低原子性,并允许关键字搜索和查询有效地运行。我正在考虑使用Lucene .NET作为反规范化数据库上的关键字work。

因此,在我从山上高唱这是前进的道路之前,我想要一些专家的意见,以及什么是公认的“最佳实践”。考虑到我将获得的数据,我所建议的方法是最好的前进方式吗?有人建议,也许我可以使用“搜索引擎”来搜索归一化数据。这把我吓得要死,但也提出了一个问题:什么搜索引擎以及如何搜索?

意见,火焰,糟糕的语言和帮助:)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-01-04 22:48:43

我已经基于以规范化形式存储的数据构建了报告数据库和数据仓库。在传输程序(ETL)中涉及到相当多的工作。根据您对数据提要的描述,提要可能已经为您完成了其中的一些工作。

如今,数百万行并不是很多。您也许能够在现有数据库中使用面向报告的视图。试试看。

构建面向OLAP的数据库的最大好处不是速度。这是灵活性。“我们喜欢这份报告,但现在我们希望每周和每季度看到它,而不是每月一次。!完成!”“你能按营销类别而不是生产类别来细分吗?!!完成了!”诸若此类。

票数 2
EN

Stack Overflow用户

发布于 2011-01-05 00:28:53

合理归一化模型(3NF/BCNF)为最大数量的场景提供了最佳的平均性能和最少的修改异常。这是很大的,所以我会从那里开始。由于你的需求是模糊的,这似乎是最明智的选择。

实际上,最明智的做法是仔细检查需求,直到它们变得更“清晰”;)

此外,如果您可以从您的数据提供商那里获得一些早期摘录,您可以进行试验,并获得数据分布的感觉(不是所有人都生活在一个国家,并且一些国家拥有比其他国家更多的人口。并不是所有人都有孩子,每个人的孩子数量因国家而异)。这是一个重要的观点,优化器能够做出正确的决策是至关重要的。

除此之外,我同意沃尔特所说的一切,也给了他我的选票。

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

https://stackoverflow.com/questions/4593575

复制
相关文章

相似问题

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