KDT#24 跨国数据仓库的维度表的设计方法
当你在设计跨国数据仓库时,一定会遇到下面几个问题。比如,如何处理多国语言;数据仓库中的哪一部分需要翻译成多国语言;如何处理逐渐增加的语言版本。本日志要面对的就是如何来处理多国语言的问题。
对于跨国的分布式的数据仓库来说,用户一般会通过一致性维度交叉探察不同地区的数据仓库。而处理多国语言的问题的关键在于这些一致性维度表,因为这些维度表中保存的属性有用户报表的标签,数据的层级关系和数据的描述。
解决多国语言问题最直接的方法就是一对一的将维度表翻译成多国语言。举例来说,我们有一个中文的产品维度表,又需要支持英文和法文,那么我们可以直接再建立两个同样的维度表,将中文产品维度表中除了关键字和数字型以外的字段都翻译成英文或法文。
在翻译的过程中一定要注意,不要把在一个语言中不同的两个字段内容翻译成另一种语言中同样的内容。
这种设计方法最大的好处就是灵活性,很容易就可以添加一种新的语言。
多国语言的维度表在每个数据仓库中都需要建立。这样,当英国的用户在不同的数据仓库中交叉探察时,每个数据仓库都提供英文的维度表进行查询。这个维度表的切换需要在实现分布市数据仓库时完成。
这样的解决方案其实还遗留了几个问题。
1. 排序问题,不同的语言排序出的顺序肯定会不一样。
2. 字段内容显示长度的问题,同样的内容有的语言显示的会非常长,导致报表格式难看。
3. ASCII码和UNICODE的问题,跨国数据仓库需要都支持UNICODE。