《6-穆帥楠-ivorysql3.0項目介紹.pdf》由會員分享,可在線閱讀,更多相關《6-穆帥楠-ivorysql3.0項目介紹.pdf(17頁珍藏版)》請在三個皮匠報告上搜索。
1、IvorySQL3.0項目介紹及架構分析演講人穆帥楠公司&職位瀚高&研發工程師Subject 1系統表Subject 2數據集簇Subject 3進程結構Subject 4IvorySQL兼容性CONTENTPART 01系統表系統表功能-數據字典定義-在 src/include/catalog 下存在68個 pg_xxx.h 的文件,對應地定義了與文件名同名的系統表的數據結構,其中,indexing.h 定義了所有的系統表的索引,toasting.h 定義了所有系統表的TOAST表實現-在 src/backend/catalog 下的 pg_xxx.c 文件定義了對pg_xxx進行相關操作的
2、函數,其中,indexing.c定義了操作索引的函數,toasting.c定義了操作系統表的TOAST表的函數系統表pg_attribute存儲所有表(包括系統表)的字段信息。每個表的每個字段在pg_attribute都有一行記錄。attidentitychar在原有的基礎上,添加了三種可選的值,n表示自增列可以指定插入,包括NULLo表示自增列可以指定插入,但不包括NULLi表示自增列只能自動生成系統表pg_type存儲數據類型信息。該表中的每一個元組都對應一個數據類型。PART 02數據集簇數據集簇initdb 的使用配置文件過程語言模塊擴展extension數據集簇不同的bki文件:po
3、stgres.bki和postgres_oracle.bki(編譯時genbki.pl生成)在系統表初始值的文件中,可以通過注釋的方法選擇加載想要加載的系統表元組,這樣可以確保無論使用IvorySQL的哪種模式,系統表中不會出現不該出現的“垃圾”元組。PART 03進程結構進程結構PART 04IvorySQL兼容性IvorySQL3.0PG工具Oracle應用PG SQL解析器5432Oracle SQL解析器1521查詢重寫查詢優化查詢執行存儲管理|緩存區管理|事務管理日志管理|并發控制|鎖管理PL/pgSQLPL/iSQLPL/PythonPL/TCLPL/PerlPL/RPL/Java.PostGISIvorySQL_oraPostgres_fdwOracle_fdwpg_idx_advisorpg_logqueryidpg_stat_statements.54321521兼容性數值類型:number字符類型:varchar2日期類型:date/timestamp/interval浮點數類型:binary_float/binary_double數據類型內置函數sysdate()instrb()substrb()ltrim()IvorySQLTHANK YOU聯系信息CONTACT INFORMATION