【发布时间】:2019-08-01 16:52:00
【问题描述】:
我必须根据一个国家/地区的州设计数据结构。
该国有 30 多个州,每个州都将写入和读取本州的数据。问题是我是否应该有一个分区表,该表将由 state_code 分区,还是为每个州制作不同的表?我正在使用 PostgreSQL。我没有分区表的经验。每个州都会有大量数据。
数据将是这些村庄中每个区、街道、村和学校的空间数据。
它还将包含每个学校的每个孩子的数据。这将是孩子的基本信息。
将对每个孩子进行筛选,并根据大约 30-40 个参数将每个学生分类到他面临的问题类别中。
与每个学生的健康问题相关的数据也将在那里。这将包括行为问题和身体健康问题。
访问学校的卫生队也将被存储。例如,团队成员及其信息。
我想现在事情更清楚了。每个州将有超过 100 万行。
【问题讨论】:
-
您好,欢迎来到 Stack Overflow。请阅读stackoverflow.com/help/how-to-ask - 就目前而言,我们没有足够的信息来回答您的问题。您将存储哪些数据? “巨大”是什么意思?您预计会出现什么样的查询?
-
无法按原样回答问题。最重要的因素是:你存储什么样的数据,目标是什么?每个数据模型都有一些用途。 没有通用解决方案。另外,“巨大”是什么意思?预期的流量是多少?金额本身并不意味着什么。例如,您可以拥有数 TB 的日志。那么,如果您不打算查询它们怎么办?您的问题中缺少很多细节。
-
要添加到@freakish 的评论中,包括 PostgreSQL 在内的现代 RDBMS 旨在处理大量数据。所谓的“大数据”我认为大数据术语量明智地处理数据这不适合计算机内存..因此,如果您只有 8Gb 的计算机内存,则 9 Gb 的数据可以是“大数据”..当数据可以获得“大数据”标签时,有更多的定义,但每个人都希望拥有数据被称为“大数据”时的不同定义或意见
-
我正在编辑问题。
-
“超过 30 个州的行数超过 100 万行” - 归结为 3000 万或 1 亿行。如今,这并不被认为是“巨大的”。即使有 1 亿行,您也不一定需要分区来进行快速查询。只需创建一个正确规范化的模型,它可以有效地支持您要运行的查询,并确保您创建正确的索引来支持这些查询。只有如果您确实遇到了性能问题,请考虑诸如分区和/或反规范化之类的事情。
标签: postgresql database-design data-modeling database-partitioning