• <tr id='fI3WuT'><strong id='fI3WuT'></strong><small id='fI3WuT'></small><button id='fI3WuT'></button><li id='fI3WuT'><noscript id='fI3WuT'><big id='fI3WuT'></big><dt id='fI3WuT'></dt></noscript></li></tr><ol id='fI3WuT'><option id='fI3WuT'><table id='fI3WuT'><blockquote id='fI3WuT'><tbody id='fI3WuT'></tbody></blockquote></table></option></ol><u id='fI3WuT'></u><kbd id='fI3WuT'><kbd id='fI3WuT'></kbd></kbd>

    <code id='fI3WuT'><strong id='fI3WuT'></strong></code>

    <fieldset id='fI3WuT'></fieldset>
          <span id='fI3WuT'></span>

              <ins id='fI3WuT'></ins>
              <acronym id='fI3WuT'><em id='fI3WuT'></em><td id='fI3WuT'><div id='fI3WuT'></div></td></acronym><address id='fI3WuT'><big id='fI3WuT'><big id='fI3WuT'></big><legend id='fI3WuT'></legend></big></address>

              <i id='fI3WuT'><div id='fI3WuT'><ins id='fI3WuT'></ins></div></i>
              <i id='fI3WuT'></i>
            1. <dl id='fI3WuT'></dl>
              1. <blockquote id='fI3WuT'><q id='fI3WuT'><noscript id='fI3WuT'></noscript><dt id='fI3WuT'></dt></q></blockquote><noframes id='fI3WuT'><i id='fI3WuT'></i>
                首頁> 產品技術 > Vernox融合數據庫

                Vernox融合數據庫

                大數據時代迅猛發展,傳統的關☉系型數據庫已經無法滿足用戶需求,半結構化數據、非結構化數據占比日益增加,高吞吐,海量的數據壓力以及移動互聯網時代,高並發的訪問都需要新型數據庫來支撐。內存數據庫、文檔數據庫、列存儲數據庫什么意思、圖數據庫等新技術層出不窮。這樣的技術發展趨勢對數據庫的使用者和維護者來說,帶來了更高的學習成本和技術更新壓力。

                企業在雲計算的大環境下開始轉型升級,以需求驅動轉型成數據驅動,支撐大數據分析計算的底層數據庫就顯得尤為重要。目前,當需要操作和存儲異構數據時,企業大多采用各類型數據庫多管齊下的策略,這樣導致了操作的不流暢和聯合檢索的復雜,因此,融合數據庫是必然的趨勢。

                Vernox融合了事務、Json、圖表三個功能於一體,不基於任何開源代碼,完全自主研發,並且創新性的將B+樹索引與後綴排序算法相結合,形成了獨具競爭力優勢的字符串後綴索引,在中文微微檢索速度上超越傳統大型關系型數據庫近十倍,融合、高效、原創,是Vernox立足的根本,未來的競爭是數據競爭,掌握了底層數據庫技術,即是掌握了核心競爭力。
                展開
                1、融合關系、圖、文檔(json)於一身

                Vernox原生支持圖數據以節點和關系的形態存儲,並建立網狀圖』索引。圖索引為圖表的基礎索引,不能單獨創建。檢索方式按照廣度優先方式或深度優先方式進行遍歷,對社交關系等網狀數據的存儲和操作具有天然︾優勢。同時,Vernox還原生支持json文本格式,極大方便了對多樣性文本數據的存儲和操作,不用再擔心新增數據是否能對應表結構中的字段,真这一路上正實現了大數據的實時存儲,也方便了上層大數據分析引擎的應用。Vernox采用json列的方)式存儲json格式的數據,即每張表有一個名為“$”的字段,該字段用於存儲json格式數據。

                Vernox不僅提供了結構化數據,文檔型數據和圖數據的存儲能力,更大的亮點是Vernox在內核數據操作上,實現了不同類型數據的Join操作,並以標準SQL語法對上層應用提供服務能力,大大提升了應用成同時操作多種類型數據的便利性和實時性。一句Join SQL語句即可完成傳統模式下,不同數據庫查詢,應用程序內存拼裝,應用處理一致性的低效率,高復雜的開發過程。

                目前市場上有針對圖關系數據的圖數據庫,也有針對多樣性文本數據的文檔數據庫,但是,他們都是各自獨立應用,如果業務中有武者需求用到多種數據庫,那麽同∴時操控多個庫將是一個龐大而復雜的工程。因此Vernox決定將多種功能融於一身,集合關系、圖數據庫、文檔數據庫的優勢,打造出國內鮮有的融合數據庫。
                 
                2、Vernox核心優勢-字符串索引

                在關系型數據庫卐中,對於字符串類型的字段建立B+樹索引的方式都是將完整的字符串存入B+樹索引的節點中。在節點內部按照整個字符串的字典序排列。這樣的B+樹索引方式存在的問題是,對帶有前百分號的字符串模糊匹配支持並不是友好。具體而言,對於like‘%X%’或者like‘%X’形式的神色查詢條件只能使用覆蓋索引遍歷或者全表遍歷,只有like‘X%’形式的條件可以很好的使用B+樹索引。而在目前在許多應用中會大量使用like‘%X%’形式的查詢,傳統關系型數據庫在該情況下所使用的全表遍歷策略效率十分緩慢。

                針對這樣的情況,Vernox在已有的B+樹索引的基礎上,引入了後綴數組。自主研發出高效精準的字符串索引,用於漢字模糊匹配。具體原理如下:   
                字符串的後綴是指字符串某位置與字符串結尾之間的子串,而後綴數組(Suffix Array)則是一個存放該字符串所有後綴的一維數組,這些子串按照字典序由小到大依次排列。


                從上面對後綴數組的描述中不難發現,在後綴數組中所有後綴按照其字典序排列,所以可以通過二分法快速的找到符合條件的後綴,這與B+樹的查詢規則〗相同。所以我們將B+樹索引與後綴數組這兩種已有技術相結合,提出了一種基於後綴數組的字符串B+樹索引,從而使B+樹索引可以支持帶有前百分號的字符串模糊匹配。
                 
                3、Vernox核心優勢-基於成本的智能優化

                大部分的關系型數據庫,sql解析一在中三天共分為4步:
                1、 語法檢查:此步驟檢查sql語句的拼寫是否符合標準語法;
                2、語義檢查:此步驟檢查sql語句中對象及字段是否真實存在,以及該用戶是否具備相應操作權限;
                3、語句解析:關系型數據庫在這一步時根據統計ㄨ信息生成基於成本的執行計劃,執行計劃將一直緩存於內存中,以備將來復用。
                   
                Sql解析主要分為2類:硬解析(hard parse)和軟解析(soft parse),硬解析即每次執行語句時都根據當前條件成本產生執行計劃♂;軟解析在sql解析這一步,一旦在執行計劃中找到呵呵相似模板,即調用對應模板的執行計劃進行解析,軟解析省去了評估條件成本所耗費的大量系統資源。
                ·
                執行sql,返回結果

                Vernox全程采用硬解析。軟解析雖然能節省系統資源,但存在一個問題,完全根據緩存中的執行計劃模板進行匹配】解析,有可能會造成索引先走成本較高條件,再走成本較低條件,這樣雖然節省了系統資源,但sql解析本々身的成本依然很高。

                對於傳統關系型數據庫來說,他們的架構本身是基於磁盤,如果每次sql解析都采用硬解析,頻繁的磁盤I/O會耗費大量CPU資源,而Vernox對索引緩存結構進行改♀進,保證了所有sql解析都在內存進行,極大降低了系統資源消耗,因此我們決定全程使用sql硬解析,實現了真正基於成本的智能查詢。

                內存索引的成本評估精確到每個條件命中的條數,磁盤索引的成本評ㄨ估也可以做到每個條件命中的葉子數據塊數。