Mycatベースのリポジトリ・テーブル

3838 ワード

データベース・リポジトリ・テーブルには2つの方法があります.
  • 垂直分割1つのデータベースは多くのテーブルから構成されており、各テーブルは異なるトラフィックに対応しており、垂直分割とはトラフィックに従ってテーブルを分類し、異なるデータベース上に分布することであり、データや圧力を異なるライブラリ上に分担することである.利点:
    -        ,      ;
    -            ;
    -       。
  • **  :**
     -         join,          ,        ;
     -                   ,           ;
     -       。

    垂直分割は、ビジネスの分類に応じてテーブルを異なるライブラリに分散するため、一部のビジネステーブルは膨大すぎて、単一ライブラリの読み書きとストレージのボトルネックがあるため、水平分割で解決する必要があります.
  • 水平分割
  • 垂直分割に対して、水平分割はテーブルを分類するのではなく、フィールドのルールに従って複数のライブラリに分散し、各テーブルにデータの一部が含まれます.簡単に言えば、データの水平分割は、テーブルの一部のローを1つのデータベースに分割し、他の一部のローを図のように他のデータベースに分割することによって理解できます.
        ![         ](https://img-blog.csdnimg.cn/20190804210504414.png)
    **  :**
     -        ,join           ;
     -         ,        ;
     -        ;
     -               。
    **  :**
     -         ;
     -            ;
     -               ;
     -         ;
     -            ;
    

    などまだまだあります.具体的にはMycatの質問説明を参照.Mycatがサポートするスライスポリシーもあります.http://www.mycat.io/document/...
    Mycatに基づいて列挙スライスアルゴリズムでライブラリを実現
    3つのデータベース変更プロファイルを作成し、手動で入力するのが遅い場合は、ライブラリ名と接続情報を直接コピーして変更できます.
    schema.xml  
    
    
        
        
           
          
        
        
    
         
            select user()
            
            
                
                
            
        
    
    
    rule.xml  
    
    
        
                 
                 
                      name
                      
                    hash-int
                    
         
        
        
            partition-hash-int.txt
            
            1
            
            1
        
    
    
    partition-hash-int.txt     key name    ,value         
    hefei=0
    nanjing=1
    bengbu=2
    
    server.xml  
    
       
        
            root
            testdb
        
        
        
            user
            testdb
            true
        
    
     
     

    , Mycat。 Navicat

    , 。 。 。 sql 。


    INSERT INTO t_user (name) VALUES ('shanghai');
    INSERT INTO t_user (name) VALUES ('nanjing');
    INSERT INTO t_user (name) VALUES ('hefei');
    INSERT INTO t_user (name) VALUES ('bengbu');

    これで がわかります.Mycatの ガイドで ることができるスライス もたくさんあります.http://www.mycat.io/document/...