自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

"另類MySQL"-openHalo 初體驗

原創(chuàng)
數(shù)據(jù)庫 其他數(shù)據(jù)庫
作為最大的兩個開源項目,MySQL\PostgreSQL 擁有著龐大的用戶群體。而這一開源項目,將兩者統(tǒng)一起來,讓很多MySQL生態(tài)用戶,可以平滑遷移到PG生態(tài)上來。我也抽了點(diǎn)時間做個簡單的評測,下面將從通訊協(xié)議、數(shù)據(jù)類型、數(shù)據(jù)對象、字符集、SQL語法、過程化語言、內(nèi)置函數(shù)、系統(tǒng)視圖及其他等角度進(jìn)行闡述。

近日,國內(nèi)新銳數(shù)據(jù)庫廠商 Halo 開源了自己首個開源項目-openHalo,它基于PG內(nèi)核實現(xiàn)了兼容MySQL的能力,受到了業(yè)內(nèi)的廣泛關(guān)注。作為最大的兩個開源項目,MySQL\PostgreSQL 擁有著龐大的用戶群體。而這一開源項目,將兩者統(tǒng)一起來,讓很多MySQL生態(tài)用戶,可以平滑遷移到PG生態(tài)上來。我也抽了點(diǎn)時間做個簡單的評測,下面將從通訊協(xié)議、數(shù)據(jù)類型、數(shù)據(jù)對象、字符集、SQL語法、過程化語言、內(nèi)置函數(shù)、系統(tǒng)視圖及其他等角度進(jìn)行闡述。

https://github.com/HaloTech-Co-Ltd/openHalo

1. 準(zhǔn)備篇:安裝及初試化

在初始安裝部分,基本可參考github上的步驟一路執(zhí)行下來。只是在初始化時一直報權(quán)限不足,后跟Halo同學(xué)請教,修改為如下操作就可以了。

1.png1.png

2. 體驗篇:九個維度大測試

1)通訊協(xié)議

openHalo 原生支持了MySQL通訊協(xié)議,這對于用戶來說無疑會非常方便。可以使用標(biāo)準(zhǔn)的MySQL Client連接openHalo,使用體感與MySQL無異。之前在觀看直播時也談到了,目前針對GUI Tools還有一定欠缺,尚不能完美支持,主要還是在一些數(shù)據(jù)字典的支持上,還沒有做的很完善。

2.png2.png

2)數(shù)據(jù)類型

數(shù)據(jù)類型方面,openHalo支持了絕大部分?jǐn)?shù)據(jù)類型,基本可以滿足日常的需要。

3.PNG3.PNG

我將支持的字段類型整理為一張表格

4.png4.png

3)字符集

從字符集兼容角度來看,MySQL 支持了多種字符集,如utf8mb4、gbk、latin1等;Halo處理上應(yīng)該是做了簡化處理,只保留了對utf8mb4的支持,其他會做忽略處理。

5.png5.png

4)數(shù)據(jù)對象

openHalo 支持了大部分?jǐn)?shù)據(jù)對象,常見的表、索引、約束、視圖等都沒問題。但對于MySQL一些個性化的能力,如前綴索引、全局索引還不支持。

6.png6.png

? 表

普通表的創(chuàng)建,Halo是沒有問題,但對分區(qū)表目前還不支持。

7.png7.png

openHalo背后是基于PG構(gòu)建的,那么在MySQL模式下創(chuàng)建的表又存到哪里了呢?其實是將MySQL中的dbname對應(yīng)到PG下的schema,如下圖就是在MySQL兼容模式下創(chuàng)建的表,在PG模式下查到的對應(yīng)對象。

8.png8.png

? 索引

9.png9.png

? 約束

主流約束,如主鍵、外鍵、唯一、非空都支持了。

10.png10.png

? 其他:自增

11.png11.png

5)SQL語法

SQL語法是很復(fù)雜的,坦白講很難保證一個數(shù)據(jù)庫去完全兼容另一款數(shù)據(jù)庫的語法。這其中是需要有大量的完善補(bǔ)充的工作。受精力所限,這里沒有測試很多Case,拿了一個稍復(fù)雜些的SQL看了看。

12.png12.png

但值得關(guān)注的是,不僅僅要滿足語法兼容,更重要的是語義兼容性。例如下圖就是針對NULL對排序的影響,可見在MySQL和PG的處理邏輯就不同,而openHalo則細(xì)心的做了適配。

13.png13.png

6)過程化語言

針對過程化語言,之前在直播環(huán)節(jié)談到是支持的,但我在測試時是有問題的,后面有時間再琢磨琢磨。

14.png14.png

7)內(nèi)置函數(shù)

針對大量的內(nèi)置函數(shù),兼容適配的工作量是不少的,可喜的是openHalo做了大量的適配,常見的函數(shù)基本都可以使用。

15.png15.png

16.png16.png

17.png17.png

18.png18.png

19.png19.png

20.png20.png

21.png21.png

22.png22.png

23.png23.png

8)系統(tǒng)視圖

系統(tǒng)視圖的適配難度更大些,畢竟兩個數(shù)據(jù)庫的差異明顯,這里沒有具體探究適配情況,大體統(tǒng)計了一下當(dāng)前的適配的對象。這其中有大量的細(xì)致工作,包括具體每個字段含義是否兼容。

24.png24.png

9)其他方面

針對MySQL常用的一些命令,也做了一些測試。這些對于使用者會非常方便

25.png25.png

26.png26.png

27.png27.png

責(zé)任編輯:武曉燕 來源: 韓鋒頻道
相關(guān)推薦

2009-03-09 15:12:39

XenServer安裝

2009-08-01 09:06:35

UbuntuOneLinux開源操作系統(tǒng)

2009-12-10 09:07:33

Amazon RDSMySQL

2020-10-15 10:16:05

MySQLMariaDB互聯(lián)網(wǎng)

2023-07-15 08:01:38

2011-05-30 15:12:10

App Invento 初體驗

2010-11-22 10:31:17

Sencha touc

2011-09-15 15:03:10

2009-11-30 10:09:02

谷歌Chrome OS

2010-12-13 11:39:39

2011-08-02 10:26:59

iOS 多線程 線程

2011-11-01 10:30:36

Node.js

2013-06-08 10:15:29

Outlook 201Outlook 201

2025-03-18 07:30:41

2011-09-05 10:20:21

Sencha ToucAPP

2013-05-28 10:22:03

2009-07-21 13:08:08

iBATIS DAO

2023-07-17 08:34:03

RocketMQ消息初體驗

2017-09-05 05:55:24

AWS ES集群大數(shù)據(jù)

2024-12-23 07:00:00

FastExcelEasyExcel開源框架
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號