客户信息记录的事实标准[关闭]


17

我目前正在评估一个潜在的新项目,该项目涉及为典型的客户信息(用户名,密码,姓氏和姓氏,电子邮件,地址,telfnr等)创建数据库。此时,仅对需求进行了粗略的定义。

预期客户数据库的记录为O(数百万)。为了计算数据库大小和评估潜在的数据库选项和体系结构的一些背景数据,我正在寻找此类记录的实际标准。特别是,每个字段的标准大小(名字,姓氏,地址等)或简单客户记录的平均平均值都是很好的信息

在拥有如此众多的电子商务网站的情况下,应该有某种可以重复使用的典型配置,并且可以避免重新发明轮子。

有任何想法吗?

----编辑----

答案似乎是要采用标准的客户记录而不是设计自己的记录。我想强调的是,这个问题的重点是为客户对象的字段大小确定参考,并避免自己搞清楚(我在原始文本中强调了这一部分,现在以粗体显示)。


1
我也想查看有关此信息。我也从未发现过这样的东西。有趣的是,如果有人通过查看一些开源项目对此进行了案例研究。
程序员

2
可惜您没有重新发明自己的记录格式,而对有关软件“专业性”的真正好问题持反对态度。
gbjbaanb 2012年

伙计,我希望这方面能保持一致。我已经从许多系统中导入了客户数据库,并且它们遍布整个地图。
TehShrike 2012年

您是否打算仅在一个特定国家/地区存储有关电话号码,地址等的信息?它可以使您所需的大小有所不同。
HLGEM

Answers:


16

关于标准的好处是您有很多选择。- 安德鲁·斯图尔特的Tanenbaum

这样的事情对于客户和整个行业来说都是非常特定的,任何通用的东西都将包括所有东西和厨房水槽。尤其是EDI类型的格式,在大多数情况下,它们是在十年或更长时间内有机定义的,并且包括委员会中每个公司想要的一切。它们本来应该是行业通用的,并且变得非常特定于行业并且非常脆弱。

没有通往您想要的设计或信息的皇家之路。花时间和精力来获得需求并获得具体的估计。否则,您将犯错而不是正确。知道需要知道的唯一方法是提出问题并自己解决。

许多CRM系统使用现在称为Expando对象模式(以前​​称为动态属性模式)的方法。它基本上是一个键值对字典构造。除特殊情况外,应将其视为反模式设计,应避免使用。

在过去的20年中,我已经设计和构建了至少8个自定义CRM解决方案,每个人都有不同的要求,而且没有一个数据模型(逻辑或物理)可以在所有域中使用。

针对特定情况的特定解决方案始终是更好的设计。


希望最后一句话我可以+2!
Maxpm 2012年

谢谢。我同意您的大多数观点,并且我当然会在适当的需求阶段进行设计。就是说,对于信封式的计算,我当然希望能从合理的“事实”标准中获取明智的默认设置,而不是像EDI格式这样的标准,而是人们正在使用的某种默认设置以某种普遍的方式。这样,我就可以组装我的客户对象,并获得创纪录的规模。
maasg 2012年

我的观点被遗漏了,任何以广泛方式使用的东西都将过于广泛和笼统而无用。它将肿并且过于复杂。SAP,PeopleSoft和Salesforce就是在这里赚钱的。他们的东西泛泛到这样的程度,您必须支付高昂的顾问费,以定制它来满足您的公司需求。通常,此成本是开发和维护简单的定制解决方案所需成本的很多倍。他们赚来的钱在去上下班后,常不兼容的升级等。

4

DBA堆栈中有一个关于普通人领域最佳实践的线程,该线程讨论了这些问题。您打算如何处理数据以及需要多全面,这非常重要。如果您实际上需要支持所有有效的电子邮件地址或所有有效的名称,则您的列将需要比仅希望支持您的组织和应用程序认为有效值的合理子集的列大得多。


这是我对问题的最接近答案。这些指导方针虽然不是完整或具体的,但绝对是正确的,是相当好的。
maasg

3

正如Jarrod所指出的那样,如果您遵循通用标准,那么您肯定会以一种记录格式结尾,该记录格式包含系统将不需要的许多内容。由于您已经知道会有相当多的记录,因此很可能会遇到不必要的性能问题,因为您正在支持永远不会使用的数据。相反,该标准也可能不包含您确实需要的字段,这将是一个痛苦的问题。您要么通过添加这些字段来破坏标准,要么必须找到某种(可能很笨拙)的方式将非标准字段包括在标准中。

我认为,这里的真正问题不是要找到一个“一刀切”的标准(几乎总是一个“一刀切”的标准),而是要您负责估算一个不满足要求的解决方案已指定。在这种情况下,我认为唯一要做的事情就是根据您的需求进行最小估算,然后根据您认为可能出现的所有未定义需求进行最大估算。可以肯定的是,估算可能会变得荒唐可笑,在这种情况下,您应该向要求您这样做的任何人解释,要对需求进行更明确的定义,要进行好的估算就不可行。


1

现有国际标准

有相当多的标准,但是特定于某些领域,根据它们的数据收集需求,对每个领域的要求都不同。

例如(但不限于)(并从这两个方面的经验出发):

上面的某些链接指向相当详细的文档,甚至列出了对运行状况和字段格式的要求(例如HL7使用定义明确的 数据类型)。但是,在很多情况下,它们并没有那么详细。

政府驱动的内部记录标准

国家或地方政府通常非常需要记录和存储公共机构的个人信息,并且显然提出了自己的“标准”,它们在整个组织中实施(成功的程度以及与合作伙伴组织的互操作性) 。

例如,新西兰政府的《身份记录数据格式标准》。

软件中的事实标准

您可以从中获得启发,或者使用已知的开源CRM软件的来源作为客户数据的数据规范的最佳实践和准则。

请参阅“ 十大开放源代码业务和社交CRM软件”列表,您可以自行查看其数据模型。


De-Facto Standards in Software->对这些非常感兴趣。您能添加一些参考吗?
maasg

投票者请解释一下(刚才有2个)。
haylem

0

我说您需要找到EDI系统的标准。有数百个“标准”文档,因此您需要根据需要选择一个。例如,这是TRADACOMS发票的格式,您可以从中获取想要的字段。


0

开放应用程序组发布了一套开放标准应用实施和互操作性。它们大多是面向XML的,但是它们的确指定了具有各个字段和大小的标准客户记录(请CustomerPartyMaster在文档标准列表中查找)。


0

我会说:“您还不需要它”。与罗恩·杰弗里斯(Ron Jeffries)一起:“始终在真正需要时执行事情,永远不要在预见到需要时就执行。”

因此,也许是时候将一个具体的数据库添加到项目中了,您对将存储在该数据库中的数据有了更多的了解。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.