久久精品A一国产成人免费网站-久久精品爱国产免费久久-久久精品操-久久精品成人免费看-国产一级毛片在线-国产一级免费片

 
您現在的位置:首頁 ? 知識庫 ? 系統集成 ? 數據庫維護 數據庫維護
超越PostgreSQL?下一代對象關系數據庫EdgeDB
發布日期:2018-04-16

未來幾周,一個新的開源對象關系數據庫EdgeDB將發布其首個公開預覽版。先讓我們了解一下構建EdgeDB的原因。

動機

數據庫一直是,并將永遠是任何技術堆棧的決定性部分。在過去的十年中,數據庫市場發生了很多變化。在10年前,沒有MongoDB,沒有云數據庫,甚至云本身也是一個相對較新的概念。今天,有大量的數據庫解決方案使用非關系數據模型,承諾使數據可擴展和對開發人員友好。

但顯然后半部分變得難以捉摸。NoSQL數據庫的文檔使初始無模式原型設計階段變得簡單,但是隨著時間的推移往往會增加技術負累。保持總體數據和模式一致性以及對無模式數據執行復雜分析要比傳統RDBMS難得多。

如果有人為他們的新項目選擇數據庫解決方案,他們很可能會選擇一個關系數據庫。因為可預測的性能,強大的查詢語言以及一致性保證是所有RDBMS在市場上占主導地位的原因,并且在很大程度上不受質疑。

然而,關系數據庫是建立在一個數十年前的模型之上,并且越來越不適合迅速轉變的軟件開發領域。當然,PostgreSQL正在不斷地進行改進,提供諸如高級JSON支持,查詢并行化和JIT編譯器等功能,以進一步提高復雜查詢的性能。但是,應用程序與關系數據庫的接口方式沒有發生有意義的變化。我們仍然使用緩慢的ORM,與模式遷移較勁,并編寫糟糕的臨時SQL查詢。

對象關系

大多數軟件工程師不會考慮表格。我們的編程語言是圍繞類型和對象等更高級別的抽象構建的。如果你有兩個對象A和B,并且想引用另一個對象,那么你只需寫Ab = B。為了在關系數據庫中做同樣的事情,你需要處理外鍵,連接,有時還需要處理中間表,本質上直接在低得多的抽象層次上工作。

關系數據庫和現代編程語言之間的這種不一致已為人所知,甚至有一個名稱:面向對象編程與關系型數據庫間的不一致(object-relational impedance mismatch)。這就是ORM如此受歡迎的原因,以及為什么對GraphQL等技術有如此多的興趣。這些解決方案的問題在于他們試圖彌合與應用方面的差距,要么犧牲底層數據庫的表現力,要么實施過度復雜的映射,這在很大程度上破壞了目的。雖然業界似乎癡迷于解決規模問題,但并沒有認真嘗試解決數據庫方面的對象關系不匹配問題。

EdgeDB

EdgeDB是下一代對象關系數據庫。它實現了一個對象圖模型,而不是關系模型。在這個模型中,數據被描述和存儲為強類型對象和關系,或者它們之間的鏈接。對象和鏈接可以保存屬性:一組命名的標量值。這個模型有時被稱為屬性圖模型。

EdgeDB不是圖數據庫:數據使用關系數據庫技術存儲和查詢,并且需要嚴格的模式。

EdgeDB不是一個文檔數據庫,但插入,修改和查詢層次化的文檔類數據是微不足道的。

EdgeDB不是傳統的對象數據庫。盡管“object-relational”中有“object”這個詞,但它不是OOP持久性或封裝的實現。它具有表達式查詢語言EdgeQL,其目標是匹配并超越現代SQL功能,如子查詢,高級聚合和窗口函數。

EdgeDB基于PostgreSQL,并繼承了它的所有優勢:可靠性,ACID合規性和性能。

一個例子

為了讓我們對EdgeDB有一個小小的了解,我們來定義一個簡單的模式,用我們的模式DSL來描述一個基本的類似GitHub的應用程序:

# Define a string enumerated type for

# pull request status.

scalar type pr_status extending str:

constraint enum('Open', 'Closed', 'Merged')

# Pull request object type definition.

type PullRequest:

required property title -> str

required property status -> pr_status:

default := 'Open'

# Pull request "author" as a to-one

# link to a User object.

required link author -> User

# Many-to-many relationship with

# different User objects.

link assignees -> User:

cardinality := '**'

type User:

required property name -> str

link followees -> User:

cardinality := '**'

現在讓我們來看看EdgeQL中的一個簡單查詢:

SELECT User {

id,

name,

followees: {

id,

name

}

}

FILTER

User.name = 'Alice';

查詢將返回名稱為“Alice”的所有用戶以及她關注的所有用戶的列表。數據可以以客戶端編程語言中的豐富對象或JSON的形式返回。以下是可比較的SQL查詢的樣子:

SELECT

users.id,

users.name,

array_agg(followees.id) AS followee_ids,

array_agg(followees.name) AS followee_names

FROM

users

LEFT JOIN user_followees ON

user_followees.user_id = users.id

LEFT JOIN users AS followees ON

followees.id = user_followees.followee_id

WHERE

users.name = 'Alice'

GROUP BY

users.id, users.name;

請注意,此SQL查詢效率不高。有經驗的開發人員會重寫它以使用子查詢。另外,要將查詢的結果作為JSON,需要更多的努力。

下面是一個稍微更高級的EdgeQL查詢示例,它顯示了聚合和反向鏈接導航。

SELECT User {

name,

# Count the number of users who follow this user

# by traversing the "followees" link *backwards*,

# as denoted by '.<'

followed_by_count := count(User.<followees),

# Count the number of users that this user is

# following by traversing the "followees" link

# *forwards*, as denoted by '.>' or simply '.'

follow_count := count(User.followees),

# Get a set of open pull requests that this

# user is the assignee of.

open_prs := User.<assignee[IS PullRequest] {

title

} FILTER .status = 'Open'

};

示例JSON輸出:

[

{

"name": "Alice",

"followed_by_count": 101,

"follow_count": 45,

"open_prs": [

{

"title": "Implement support for window functions."

},

...

]

},

...

]

  • 1.公司登記注冊于2003年1月27日,清遠市桑達電子網絡媒體有限公司
    2.公司2006年起成為清遠市政府定點協議供貨商,電子采購供貨商
    3.公司2007年被清遠市相關政府部門評為安防行業狀元
    4.公司2007年起成為長城電腦清遠如意服務站(SP368)
    5.公司2007年承建清遠市橫河路口電子警察工程,開創清遠電子警察先河。
  • 6.公司2007年起成為IBM合作伙伴、公司2010年底成為金蝶軟件清遠金牌代理(伙伴編號:30030013)
    7.公司組團隊參加南方都市報組織的創富評選,獲廣東80強。公司申請多項軟件著作權、專利權
    8.2016年起公司成為粵東西北地區為數不多的雙軟企業,確立“讓軟件驅動世界,讓智能改變生活!"企業理想
    9.2016-01-29更名為廣東互動電子網絡媒體有限公司
    10.2021-01-13更名為廣東互動電子有限公司
  • 投資合作咨詢熱線電話:0763-3391888 3323588
  • 做一個負責任的百年企業! 天行健,君子以自強不息;地勢坤,君子以厚德載物;
    為用戶創造價值! 讓軟件驅動世界; 讓智能改變生活; 超越顧客期望,幫助顧客成功;
    對客戶負責,對員工負責,對企業命運負責!幫助支持公司的客戶成功;幫助忠誠于公司的員工成功!
  • 聯系電話:0763-3391888 3323588 3318977
    服務熱線:18023314222 QQ:529623964
  • 工作QQ:2501204690 商務QQ: 602045550
    投資及業務投訴QQ: 529623964
    微信:小米哥 微信號:qysed3391888
    騰訊微博:桑達網絡-基石與起點
  • E-MAIL:222#QYSED.CN ok3391888#163.com (請用@替換#)
在線客服
  • 系統集成咨詢
    點擊這里給我發消息
  • 網站\微信\軟件咨詢
    點擊這里給我發消息
  • 售后服務
    點擊這里給我發消息
  • 投資合作
    點擊這里給我發消息
亚洲日韩在线中文字幕综合 | 国产网红在线_电影频道| 香蕉久久人人97超碰CAOPR| 好大的奶好爽浪蹄子| 亚洲欧美另类在线视频| 免费观看大片的APP视频| 亚洲另类无码专区首页| 国产极品美女高潮无套APP| 人妻少妇久久久久久97人妻| 肥老熟妇伦子伦456视频| 午夜成人性爽爽免费视频| 加勒比一本HEYZO高清视频| 伊人久久精品一区二区三区| 欧美一性一乱一交一视频| 公侵犯人妻一区二区三区免费| 国精产品W灬源码1688网站| 亚洲AV无码一区二区三区久久精| 久久精品九九亚洲精品| AV人摸人人人澡人人超碰手机版| 色偷偷人人澡人人爽人人模| 国产又色又爽又刺激在线播放| 一本色道久久88综合日韩精品| 欧洲FREEXXXX性少妇播放| 国产AⅤ夜夜欢一区二区三区| 亚洲AV日韩AV永久无码久久| 麻豆传煤入口免费进入2023| 成·人免费午夜无码区| 亚洲AVTV永久综合在线| 老师的粉嫩小又紧水又多 | 亚洲综合久久无码色噜噜赖水| 欧美国产激情二区三区| 国产成人无码一区二区三区| 亚洲人成人无码.WWW石榴| 欧美色成人综合天天影院| 国产精品久久成人网站| 亚洲综合熟女久久久40P| 人妻美妇疯狂迎合系列视频| 国产无遮挡又黄又爽不要VIP网| 呦香8黝黝狖呦香8| 肉大捧一进一出免费视频| 好深啊太粗好烫撑满了| 97电影九七电影理论片| 国产精品爆乳在线播放第一人称| 亚洲国产精品无码久久久动漫 | 皇上捏住宫女的巨峰| 99国产欧美久久久精品蜜桃| 我的好妈妈中文字幕HD| 久久久久亚洲精品无码网址| 成人免费AⅤ视频一区二区| 亚洲成A人片在线观看你懂的| 欧美成人精品激情在线观看| 国产精品丝袜高跟鞋| 真人作爱试看90分钟免费影视| 色一情一乱一乱一区91Av奶水| 精人妻无码一区二区三区蜜桃| 把腿张开老子cao烂你动态图 | 色综合久久中文字幕有码| 精品一区二区三区在线观看| メスのちトラレ_在线| 亚洲AV综合A国产AV中文| 欧美人妻一区二区| 国产中国男男GayGay| BGMBGMBGM老太太俄罗斯| 亚洲AV成人精品网站在线播放 | 亚洲欧美日韩二三区在线| 人妻巨大乳一二三区麻豆| 狠狠精品干练久久久无码中文字幕| 99久久国语露脸精品国产 | 色多多性虎精品无码AV| 久久精品国产亚洲AV日韩| 顶级大但人文艺术巫| 亚洲中文字幕无码中文| 施主就让贫僧C进去吧| 开心久久婷婷综合中文字幕| 国产成人无码18禁午夜福利网址| 月光影院在线观看免费直播| 国产AV妓女影视妓女影院| 亚洲精品无码久久久久去Q| 欧美黑人又大又粗又长久久久| 国产成人高清精品亚洲| 亚洲性夜夜综合久久7777| 欧美日韩一区精品视频一区二| 国产精品久久久久久影视不卡| 一二三四在线视频社区3| 日韩AV无码久久精品免费| 韩国日本三级在线观看| 97无码免费人妻超级碰碰夜夜| 天天摸日日添狠狠添婷婷| 久久久WWW成人免费毛片| 成人国产精品一区二区免费| 亚洲国产成人AV在线电影播放| 欧美AAAAAA级午夜福利视频| 国产乱码1卡二卡3卡四卡| 在线观看成人网站| 婷婷妺妺窝人体色www久久| 久久婷婷六月综合色液啪| 成人免费无码大片A毛片抽搐| 亚洲国产精品VA在线播放| 欧美性猛交内射兽交老熟妇| 国产亚洲色婷婷久久99精品| 99久久国产露脸国语对白| 亚洲∧V久久久无码精品| 欧美黑人巨大VIDEOS极品| 国产午夜激无码AV毛片不| ASS年轻少妇PIC精品| 亚洲AV日韩AV无码A一区| 欧美日韩在线视频一区| 韩国青草无码自慰直播专区| YSL千人千色T9和T9的区别| 亚洲METART人体欣赏| 人妻丰满熟妇av无码区HD| 好男人资源在线观看好| 变态另类AV手机版天堂| 亚洲午夜福利在线观看| 熟妇人妻精品一区二区视频免费的| 久久人人爽爽爽人久久久| 国产成人AAAAA级毛片| 中文字幕人乱码中文字幕 | 征服丝袜旗袍人妻| 无码任你躁久久久久久老妇| 内射射满骚B含着小说| 国内情侣作爱视频网站| 办公室欧美大尺寸SUV| 亚洲日韩精品无码专区加勒比海| 色欲香天天天综合网站无码| 麻花传媒免费网站在线观看 | 男朋友想吻我腿中间那个部位| 国产无遮挡又黄又爽在线观看| А√天堂资源地址在线| 亚洲中文字幕精品久久久久久动漫 | HERMES日本官网的网址| 亚洲欧洲综合有码无码| 天美传媒蜜桃传媒精东| 欧美激情在线播放| 久久WWW成人_看片| 国产精品久久久久成人| PLAY在线视频| 伊人久久亚洲综合| 亚洲AV乱码中文一区二区三区| 人人做人人爱在碰免费| 麻花传媒CEO免费观看| 和朋友换娶妻野外夫妇3| 夫では満足できない人妻| 95W乳液78WYW永久| 亚洲天堂无码高清高潮| 无套中出丰满人妻无码| 日本高清无卡码一区二区久久| 麻豆XXXXXX在线观看| 交换玩弄两个美妇教师韩国电影| 国产chinese大学生Gay| WWW.一本色道88久久爱| 在线成人精品国产区免费| 亚洲国产精品福利片在线观看| 熟妇人妻系列Av无码一区=区| 欧美日韩国产码高清综合人成| 久久久久人妻一区精品果冻| 国产又黄又爽胸又大免费视频| 公粗挺进了我的密道在线播放| CSGO高清大片视频| 在线播放五十路熟妇| 亚洲乱码日产精品一二三| 午夜理论片YY6080影院| 色偷偷AV男人的天堂| 人妻少妇精品无码系列 | 国产精品久久久久久久久久久不卡 | 亚洲成AⅤ人的天堂在线观看女人| 少妇被三个黑人调教| 人妻无码一区二区三区蜜桃| 男男车车CP视频| 久久久婷婷五月亚洲97号色| 姬小满乳液狂飙奖励自己| 国产精品久久一区二区三区蜜桃| 国产又粗又猛又爽又黄的视频在线 | 欧美成人免费观看在线看| 男女啪啪永久免费网站| 女强人被春药精油按摩4| 妺妺窝人体色WWW美女| 男人躁女人到高潮视频| 欧美国产成人久久精品| 亲子伦AV一区的三区| 人妻在线一区二区| 三级日本高清完整版热播| 水蜜桃国产成人精品网站| 无码精品日韩专区| 亚洲AⅤ精品无码一区二区PRO| 亚洲AV无码一区二区二三区入口 | 国产精品久久久久久精品电影| А√天堂资源地址在线| 成人H动漫精品一区二区| 亚洲AV成人片无码网站网| 无码国产精品一区二区免费式影视 | 亚洲一区二区三区无码久久| 亚洲色偷偷综合亚洲AV| 东北大坑续集1至60| AV永久天堂一区二区三区香港| 中文字幕人妻被公上司喝醉| 一面膜上边一面膜下边视频| 亚洲熟女AV综合网五月| 亚洲午夜无码久久久久软件| 亚洲成成熟女人专区|