CouchDB和SQLite聯合推出NoSQL查詢語言
來自 h-online 的消息:CouchDB 創始人 Damien Katz 和 SQLite 的創始人 Richard Hipp 聯合發布了一個名為 UnQL (UNstructured Query Language,發音 Uncle) 的非結構化查詢語言,主要用于NoSQL的文檔數據庫。UnQL 是一個通用的查詢語言,其目的是為目前各種各樣的 NoSQL 服務器提供一個統一的數據查詢語言。
Katz表示,他們堅信為了推廣NoSQL,需要一種通用的查詢語言,類似當年推廣關系型數據庫應運而生的SQL語言。Hipp稱,UnQL是建立在他們使用SQL的經驗之上,增加了新語法和概念,切合后現代應用中的非結構化和自我描述數據格式。
在很多方面都很像SQL,也有SELECT, INSERT, UPDATE和DELETE等命令,但是與SQL主要用來處理關系數據庫中的表不同,UnQL處理的對象是文檔數據庫中的無序非結構化文檔的集合(稱為Collection)。在UnQL中,文檔就是可以用JSON描述的數據單位,但無需是JSON對象,也可以是整數、浮點數、字符串。與傳統關系型數據庫不同,Collection可以保護多個結構不同的文檔。UnQL中與CREATE TABLE和DROP TABLE命令對應的是CREATE COLLECTION和DROP COLLECTION。查詢的WHERE子句指向的是與所存對象的字段對應的文檔屬性。
歷史上,SQL語言的出現為關系型數據庫得到廣泛應用立下了汗馬功勞。Katz相信統一的NoSQL查詢語言也會產生類似的作用。而Hipp則表示,UnQL將基于他們豐富的SQL經驗,在SQL之外補充適于后現代應用軟件中非結構化、自描述數據格式的語法和概念。
目前語言標準的草稿已經可以在網站unqlspec.org上看到,但很不完整,只有語法樹和簡單的語法說明,實例和代碼都沒有。
【編輯推薦】