<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                TokuDB的數據庫文件組織方式比較隨意,給我們一種“亂”的假象,今天就來漫談下TokuDB數據庫文件。 一個“新生”的TokuDB數據庫,基礎文件是這樣的: ~~~ tokudb.directory --表/索引文件信息 tokudb.environment --TokuDB版本號信息 tokudb.rollback --undo記錄 log000000000001.tokulog27 --redo記錄 __tokudb_lock_dont_delete_me_* --文件鎖,保證同一個datadir只能被一個TokuDB進程使用 ~~~ 在test數據庫下面新建個表t1,并寫幾條數據: ~~~ CREATE TABLE `t1` ( `a` int(11) NOT NULL, `b` int(11) DEFAULT NULL, `c` int(11) DEFAULT NULL, PRIMARY KEY (`a`), KEY `bc` (`b`,`c`) ) ENGINE=TokuDB ~~~ 就會發現目錄下多出3個文件,表t1: ~~~ file1: _test_t1_key_bc_90_3_1b.tokudb --索引(bc)文件 file2: _test_t1_main_90_2_1b.tokudb --主文件 file3: _test_t1_status_90_1_1b.tokudb --表元數據文件 ~~~ 可以發現每個表最少2個文件,命名規則為: ~~~ _database_table_main*.tokudb _database_table_status*.tokudb ~~~ 索引是一個單獨的.tokudb文件。 好了,下面是問題時間。 問題1: TokuDB如何知道哪些文件屬于表t1 現在來dump下tokudb.directory: ~~~ {key={len=17 data="./test/t1-key-bc\000"} xid=0000000000000003 val={len=33 data="./_test_t1_key_bc_90_3_1b.tokudb\000"}} {key={len=15 data="./test/t1-main\000"} xid=0000000000000002 val={len=31 data="./_test_t1_main_90_2_1b.tokudb\000"}} {key={len=17 data="./test/t1-status\000"} xid=0000000000000001 val={len=33 data="./_test_t1_status_90_1_1b.tokudb\000"}} ~~~ TokuDB在啟動的時候,會讀取tokudb.directory,根據key信息組織出表t1的相關文件,并寫到information_schema.tokudb_file_map表。 問題2: TokuDB如何知道表t1有哪些索引以及列信息 這些信息全部存在_test_t1_status_90_1_1b.tokudb文件里。 問題3: TokuDB的分區表文件是怎樣的 實驗走起來,首先創建一個按時間的分區表t2: ~~~ CREATE TABLE `t2` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `c1` int(11) DEFAULT NULL, `date` datetime NOT NULL, KEY `id` (`id`), KEY `c1` (`c1`) ) ENGINE=TokuDB DEFAULT CHARSET=latin1 /*!50100 PARTITION BY RANGE ( TO_DAYS(date)) (PARTITION p201508 VALUES LESS THAN (736176) ENGINE = TokuDB, PARTITION p201509 VALUES LESS THAN (736207) ENGINE = TokuDB, PARTITION rxMORES VALUES LESS THAN MAXVALUE ENGINE = TokuDB) */ ~~~ 現在分區表的文件是什么樣的呢? ~~~ data/_test_t2_P_p201508_key_c1_ba_4_1b.tokudb data/_test_t2_P_p201508_key_id_ba_3_1b.tokudb data/_test_t2_P_p201508_main_ba_2_1b.tokudb data/_test_t2_P_p201508_status_ba_1_1b.tokudb data/_test_t2_P_p201509_key_c1_bb_4_1b.tokudb data/_test_t2_P_p201509_key_id_bb_3_1b.tokudb data/_test_t2_P_p201509_main_bb_2_1b.tokudb data/_test_t2_P_p201509_status_bb_1_1b.tokudb data/_test_t2_P_rxMORES_key_c1_bc_4_1b.tokudb data/_test_t2_P_rxMORES_key_id_bc_3_1b.tokudb data/_test_t2_P_rxMORES_main_bc_2_1b.tokudb data/_test_t2_P_rxMORES_status_bc_1_1b.tokudb ~~~ 可以看到每個分區表有4個文件:1個main文件,1個status文件,還有2個key索引文件。 對于分區表來說,總的文件數目基本是:分區數目 * (1 + 1 + 索引數目)。 所以如果您的分區非常多,open-files-limit 配置可要小心了,要盡可能的大點,否則可能會出現”Too many open files”,從而導致實例crash! 希望本文能幫助您了解到TokuDB的文件組織結構,祝玩得開心!
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看