Витесс Шардинг выпуск - PullRequest
3 голосов
/ 13 марта 2020

Я новичок в Vitess, и мы развернули Vitess в Kubernetes, используя Helm Charts, и выставили VTGate через порт узла и смогли подключить MYSQL Рабочий стол с использованием открытого IP-адреса VTGate. Когда мы вставили записи, используя MySql Work Bench, записи не разбросаны по осколкам.

  * 'Payrolls' is the KeySpace and we created two shards as Payrolls -80,Payrolls 80-.

  * Table Schema as below

     1. TenantList
        (
           TenantID     INT,
           NAme      VARCHAR(200)
        )  


     2.  PayrollMaster
        (
          PayrollID   INT PRIMARY KEY,
          HHAID       INT FOREIGN KEY TO TenantList(TenantID)
        )  

     3. PayrollDetails
       (
         PayrollDetailID    INT PRIMARY KEY,
         PayrollID          INT FOREIGN KEY TO PayrollMaster(PayrollID),
         HHAID              INT FOREIGN KEY TO TenantList(TenantID)
       )

   *   VSchema is as below
      {
       "sharded": true,
       "vindexes": {
        "hash": {
         "type": "hash"
        }
     },
    "tables": {
     "payrollmaster": {
     "column_vindexes": 
      [
       {
         "column": "HHA",
         "name": "hash"
       }
      ],
      "auto_increment": {
       "column": "PayrollInternalID",
       "sequence": "payrollmaster_seq"
      }
    },
    "payrolldetails": {
     "column_vindexes": 
     [
       {
         "column": "HHA",
         "name": "hash"
       }
     ],
     "auto_increment": {
       "column": "PayrollDetailInternalID",
       "sequence": "payrolldetails_seq"
     }
   }
 }
}


    We are inserting the Records like below
      use Payrolls;
      insert into the TenantList,PayrollMaster,PayrollDetails

Мы ожидаем, что записи будут разбросаны по осколкам, но таблица содержит нулевые строки в осколках.

Key Space and Shards were created as mentioned in the screenshot

Есть ли какие-либо проблемы с тем, как мы пытаемся.

Спасибо

1 Ответ

1 голос
/ 13 марта 2020

Похоже, вы хотите, чтобы платежные ведомости были разграблены. Если это так, вы не должны создавать осколок "0". Вы должны указывать только осколки "-80" и "80 -"

...