第2章単一アーキテクチャ設計と準備作業-2-9説明するための外部キーの理由のデータベース物理的に除去する - 、主要な基盤を、ステージを構築そびえ立つ-01


当社のデータベース開き



ダイアグラムを、すべてのテーブルが入力されたドラッグされています。ここでは、特定の表編成、彼らは、この時間を行うために、バックに話す説明して行くことはありません。

公式サイトを図。テーブルとテーブル間の関連は、接続ラインを通して見ることができます。

我々は、データベースを設計し、家はそのような関係ではありません。

外部キー

外键的好处,数据的完整性,数据的强力执行。
在我们的分布式项目里面。在发并发的情况下,数据库的性能会有相应的影响的,所以数据库的外键移除掉。
分布式的项目,绝大多数都需要热更新的,热更新就是不停机去进行维护。不管是互联网产品,还是一些游戏 手游。大多都会采用热更新的方式。如果数据库有外键,可能会造成新更新的代码 无法运行。 因为要匹配现有的外键,可能要重启服务器。那么这样就达不到热更新的目的了。因为外键是强力执行的。注意点和分布式绝对是冲突的。
降低耦合度:删除了外键,并不是我们不要外键,而是物理的外键,物理的这一层关系我们不需要了。但是逻辑上的话,这样的外键还是存在的。这样子适当的降低了表和表之间的耦合度。
什么叫做物理和逻辑呢?
大型的系统里面都是多个数据库的。分布式的数据库集群,如果说我们有外键关联的话,会导致难以做分库分表。因为耦合度实在是太高了。
假设现在有两张表,用户表和商品表。用户表和商品表假设有外键关联的话。当我们现在要做一个分库,要吧两张表放在两个不同的数据里面,但是他们却有外键关联关系。这个时候就很难去实现了,这仅仅只是一个外键而已。如果说我们的数据库有上百张表。有几十个外键关联的话。这个时候分库分表该怎么做呢?? 难以进行,难以去实现。如果一个互联网项目在前期没有做到很好的控制,就是控制我们的外键关系。当业务上来以后。物理的外键一定会让运维人员欲仙欲死。。所以很多的架构师 数据库DBA 都会弃用数据库的外键。



如果你设计的是传统的小型项目的话,物理的外键存不存在都可以 。
如果你设计的是一个互联网项目,或者是一个大型项目的时候,我们是绝对不能用数据库外键的,一定要为以后的架构多多考虑。

结束






 

おすすめ

転載: www.cnblogs.com/wangjunwei/p/12028525.html