作者 | Antonello Zanini 译者 | 李睿 策划 | 武穆 让数以百万计的何设用户使用自己开发的应用程序是每个开发人员的梦想。如果让世界各地的计多用户都能使用其开发的应用程序,那么实现这一目标将变得更加容易。数据由于并非所有用户都精通英语或开发人员的何设母语,因此需要将其设计为多语言的计多应用程序。但是数据如果没有多语言数据库,这是何设不可能实现的。 设计一个可以轻松扩展到新语言的计多多语言数据库并不容易。这就是数据开发人员应该依赖最佳实践的原因。以下将介绍为什么需要多语言数据库、何设三种出色的计多多语言数据库设计,以及如何选择最适合的数据多语言数据库。 下面开始介绍有关多语言数据库设计的何设知识。 开发人员可能永远不知道他的应用程序将会增长多少,也许他为朋友开发的数据一个小应用程序有可能成为数百万人使用的云服务器提供商国际服务。如果希望开发的产品能够在国际上得以推广,则需要对其进行多语言设计,以便可以轻松地使其适应不同的文化和市场。这就是国际化的意义所在。 建立一个为国际化做好准备的数据库意味着设计一个可以存储多语言数据的数据库。换句话说,后端应该能够提供多种语言的数据。为此,后端应连接并从多语言数据库中检索这些数据。 需要注意的是,让用户可以在多种语言之间切换是一个很好的功能。这对于多语种或非母语人士特别有用。因此,即使开发的项目很小并且针对本地市场,开发人员也应该考虑使用多语言数据库。毕竟,开发人员无法提前知道其项目将取得多大成功以及哪些用户将使用它。以下介绍为什么开发人员选择正确的多语言数据库设计是至关重要的亿华云。 就时间和精力而言,更改数据库是一项非常昂贵的操作,因为它会引发连锁反应。修改数据库的结构涉及更改连接到它的后端。这可能还需要开发人员相应地调整依赖这些后端的前端。总之,更改数据库结构不是没有后果的操作。因此,开发人员应该设计一个可以轻松扩展且无需频繁更改的数据库。 可以想象,设计多语言数据库有多种方法,每种解决方案都有其优缺点。考虑到数据库结构对应用程序的重要性,开发人员必须精心设计多语言数据库。这就是开发人员不应该从头开始而是依赖最佳实践的原因。 以下介绍一些基于最佳实践的多语言设计。 作为一名为世界各地的初创公司工作的云南idc服务商全栈web开发人员,让我们更深入地探讨三种多语言设计的优缺点。 (1)列方法 在这种方法中,多语言表中的每个字段的列数等于数据库支持的语言数。 具体来说,这是列名模板的样子:columnName_languageCode 优点: 缺点: (2)行方法 在这种方法中,每种语言都有一行。识别多语言实体的关键是以下复合主键: <id, languageCode> 优点: 缺点: (3)翻译表法 在这种方法中,多语言表的每一列都是翻译表的外部键。换句话说,每个涉及多语言字段的表都有一个翻译表。 优点: 缺点: 每种多语言数据库设计都有一定优点和缺点。这意味着没有万能的方法。开发人员必须根据自己的要求、需要和目标仔细选择。我个人在不同的项目中使用了这三种方法,并从中吸取了经验教训。 当处理大数据时,开发人员可能在连接查询或重复内容时不堪重负,尤其是从拥有包含数百万行的表的数据库的角度来看,列方法特别有用。虽然列方法并不是最具可扩展性的解决方案,但它是唯一可行的大数据设计。 另一方面,当企业能够得到在当地市场运营的分支机构的支持时,行方法很有用。在这种情况下,内容的重复甚至可能是一个优势。 最后,如果开发人员正在寻找一个优雅且可扩展的解决方案,并且不介意性能缺陷,那么翻译表法是正确的设计,因为翻译表法更适合数据不会暴涨的项目。 设计一个可以存储多语言数据的数据库,对于帮助开发人员在国际上扩展业务至关重要。此外,多语言数据的数据库还允许非母语人士使用其应用程序。更改数据库是一项复杂且耗时的操作,对应用程序架构的影响不可忽视。这就是开发人员应该从一开始就将数据库设计为多语言的原因。 文章中分析了设计多语言数据库的三种不同方法,研究了它们的优缺点,并详细介绍了最适合的方法。 原文链接:https://dzone.com/articles/designing-a-multi-language-database