Database 用于大量简单记录的数据库和设计帮助
我希望能得到一些帮助,帮助我选择一个适合我必须编写的web应用程序的数据库和布局(如下所述),考虑到大量的记录以及它们需要能够以任何方式查询的事实,我有点不知所措 web应用程序基本上允许使用构成记录的任何标准组合查询大量记录,日期是唯一的必填项。一个记录只包含八项(见下文),但每天将有大约三百万条新记录,几乎没有重复记录。数据将持续实时插入数据库中 我知道人们最感兴趣的是过去6个月->1年的数据,但其余的数据仍需要用于相同类型的查询 我不确定哪个数据库最适合这个,也不确定如何构造它。数据库将位于功能相当强大的服务器上。我基本上想从一个好的数据库设计开始,看看查询是如何执行的。然后,我可以判断我是更愿意进行优化还是投入更强大的硬件。我只是不想重做基本数据库的设计,如果我们做了很多优化,我们有时间,但没有$$,那么一开始就可以了 我们需要使用开源软件,而不是像oracle这样的软件。现在我倾向于博士后 记录包括: 1日期Database 用于大量简单记录的数据库和设计帮助,database,postgresql,database-design,Database,Postgresql,Database Design,我希望能得到一些帮助,帮助我选择一个适合我必须编写的web应用程序的数据库和布局(如下所述),考虑到大量的记录以及它们需要能够以任何方式查询的事实,我有点不知所措 web应用程序基本上允许使用构成记录的任何标准组合查询大量记录,日期是唯一的必填项。一个记录只包含八项(见下文),但每天将有大约三百万条新记录,几乎没有重复记录。数据将持续实时插入数据库中 我知道人们最感兴趣的是过去6个月->1年的数据,但其余的数据仍需要用于相同类型的查询 我不确定哪个数据库最适合这个,也不确定如何构造它。数据库将位
2个无符号整数
3个无符号整数
4个无符号整数
5个无符号整数
6个无符号整数
7个文本16个字符
8个文本255个字符
我计划创建年度模式、月度表,并确定日期为记录表编制索引 在分析使用模式以了解最流行的查询是什么之后,我可能会添加另外一两个索引。我可以在应用程序站点上做很多事情,比如缓存流行的查询等等,我需要的是数据库方面的帮助。字段8将有一些重复的值,所以我计划将该列作为一个id加入到一个查找表中以进行连接。除此之外,我猜剩下的字段都将在一个月表中 我想我也可以将它分解成每周的表,并使用一个视图进行查询,这样应用程序就不必处理试图组合复杂查询的问题 无论如何,非常感谢您的反馈或帮助 一些简短的建议
根据我的经验,主要使用具有类似记录插入频率(几十亿行表)的Oracle,您可以通过仔细划分数据(在您的情况下,可能是按日期)和索引表来实现良好的web应用程序查询性能。具体如何处理数据库体系结构将取决于许多因素,但是在web上有很多很好的资源可用于获取有关这方面的帮助
听起来您的数据库相对平坦,所以可能另一个数据库解决方案会更好,但Oracle对我来说一直很好。根据我的经验,主要使用Oracle,记录插入频率类似(几十亿行表),您可以通过仔细划分数据来获得良好的web应用程序查询性能(在你的例子中,可能是按日期)和索引你的表。你如何准确地处理你的数据库架构将取决于很多因素,但是在网上有很多很好的资源可以帮助你解决这些问题
听起来您的数据库相对平坦,所以也许另一个数据库解决方案会更好,但Oracle对我来说一直很好。是查询单个记录,还是只查询聚合结果(统计数据),比如每月有“field 2=x”的条目数?一定要按日期范围进行分区。虽然PostgreSQL的分区相当原始,但只要按日期之类的东西进行分区就可以了。是查询单个记录,还是只查询聚合结果(统计数据),比如每月有“field 2=x”的条目数?一定要按日期范围进行分区。虽然PostgreSQL的分区相当原始,但只要您按日期之类的一个东西进行分区,它就可以