ignite學習筆記 資料表 設計時考慮分布式

2021-09-24 17:36:04 字數 875 閱讀 8783

對於分布式資料庫來說,最怕的是:跨結點查詢!

如果你的查詢有相當一部分是跨結點,即使是記憶體資料庫,效能也不會慢。

ignite 支援 sql ddl 語句建立資料表,看一下官網的例子:

create table city

(id int,

cityname varchar,

primary key (id)

) with 「template=replicated」

create table person (

id int,

city_id int,

name varchar,

age int,

company varchar,

primary key (id, city_id)

) with 「template=partitioned,backups=1,affinity_key=city_id, key_type=personkey, value_type=myperson」;

sql ddl 和標準的差不多,只是多了with子句。

template=replicated:city表的數量顯然是有限的,所以,使用複製的方式,在所有結點都有,這個象阿里的小表複製。template=partitioned,這個是分割槽,即在所有結點分布儲存。

affinity_key=city_id:這個是重點,即相同城市的人,儲存在同一結點,ignite 裡,這個叫類同並置。

比較難以理解的是:primary key (id, city_id),我們的習慣是:id 作為主鍵,而不是雙列做主鍵。 理由是,作為並置的列,必須是 主鍵。

mysql學習筆記 資料表的操作

建立表 create table if not exists tbl name 欄位名稱 字段型別 完整性約束條件 欄位名稱 字段型別 完整性約束條件 engine 儲存引擎 charset 編碼方式 檢視當前資料庫下已有資料表 show extended full tables db name l...

資料表設計

在進行完了資料調研 需求分析 技術實現方案,進行資料設計。資料設計,往往包含兩個環節 在本專案中,我們所有的資料設計環節,只會涉及第二個,不會涉及第乙個。因為我們為了突出課程重點,也就是spark。所以主要還是集中在spark上面,就不要花時間去做hive etl了。設計mysql中的業務表的結構。...

資料表設計

資料表設計 三大正規化 第一正規化 列的原子性,每一列是不可再拆分的 若是還要查詢省份或地區,則該錶有誤,不滿足第一正規化,則應 第二正規化 表裡面的每一列都應與主鍵有關 範例 品種列亂入不和主鍵有關係,不滿足第二正規化 科考,人員代號和科目代號為聯合主鍵,姓名雖與人員代號有關,但在成績表出來前人的...