DBMSs เบซเบผเบฒเบเปเบšเบšเป€เบ›เบฑเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ‚เปเป‰เบกเบนเบ™เบ‚เปˆเบฒเบงเบชเบฒเบ™เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบšเป?

เบฅเบฐเบšเบปเบšเบ‚เปเป‰เบกเบนเบ™เบ‚เปˆเบฒเบงเบชเบฒเบ™เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบชเบฑเบšเบชเบปเบ™. เบšเปเปˆเบขเปˆเบฒเบ‡เบซเบ™เป‰เบญเบ, เบ„เบงเบฒเบกเบชเบฑเบšเบชเบปเบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเปเบกเปˆเบ™เบเป‰เบญเบ™เบ„เบงเบฒเบกเบชเบฑเบšเบชเบปเบ™เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ›เบธเบ‡เปเบ•เปˆเบ‡เบขเบนเปˆเปƒเบ™เบžเบงเบเบกเบฑเบ™. เบ„เบงเบฒเบกเบชเบฑเบšเบชเบปเบ™เบ‚เบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบกเบฑเบเบˆเบฐเบขเบนเปˆเปƒเบ™เบ„เบงเบฒเบกเบซเบฅเบฒเบเบซเบฅเบฒเบเบ‚เบญเบ‡เปเบšเบšเบˆเปเบฒเบฅเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเปƒเบŠเป‰. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบกเบทเปˆเบญเบ‚เปเป‰เบกเบนเบ™เบเบฒเบเป€เบ›เบฑเบ™ "เปƒเบซเบเปˆ", เบซเบ™เบถเปˆเบ‡เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ—เบตเปˆเป€เบ›เบฑเบ™เบšเบฑเบ™เบซเบฒเปเบกเปˆเบ™เบšเปเปˆเบžเบฝเบ‡เปเบ•เปˆเบ›เบฐเบฅเบดเบกเบฒเบ™เบ‚เบญเบ‡เบกเบฑเบ™ ("เบ›เบฐเบฅเบดเบกเบฒเบ™"), เปเบ•เปˆเบเบฑเบ‡เบซเบผเบฒเบเบซเบผเบฒเบเบ‚เบญเบ‡เบกเบฑเบ™ ("เปเบ™เบงเบžเบฑเบ™").

เบ–เป‰เบฒโ€‹เบซเบฒเบโ€‹เบงเปˆเบฒโ€‹เบ—เปˆเบฒเบ™โ€‹เบเบฑเบ‡โ€‹เบšเปเปˆโ€‹เบ—เบฑเบ™โ€‹เบžเบปเบšโ€‹เบ‚เปเป‰โ€‹เบšเบปเบโ€‹เบžเปˆเบญเบ‡โ€‹เปƒเบ™โ€‹เบเบฒเบ™โ€‹เบชเบปเบกโ€‹เป€เบซเบ”โ€‹เบชเบปเบกโ€‹เบœเบปเบ™โ€‹, เบซเบผเบฑเบ‡โ€‹เบˆเบฒเบโ€‹เบ™เบฑเป‰เบ™โ€‹เบญเปˆเบฒเบ™โ€‹เบ•เปเปˆโ€‹เป„เบ›โ€‹.

DBMSs เบซเบผเบฒเบเปเบšเบšเป€เบ›เบฑเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ‚เปเป‰เบกเบนเบ™เบ‚เปˆเบฒเบงเบชเบฒเบ™เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบšเป?


เป€เบ™เบทเป‰เบญเปƒเบ™

Polyglot เบ„เบปเบ‡เบขเบนเปˆ
เบซเบผเบฒเบเปเบšเบš
DBMS เบซเบผเบฒเบเบฎเบนเบšเปเบšเบšเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบ•เบปเบงเปเบšเบšเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡
     เบฎเบนเบšเปเบšเบšเป€เบญเบเบฐเบชเบฒเบ™เปƒเบ™ MS SQL Server
     เบฎเบนเบšเปเบšเบšเบเบฃเบฒเบŸเปƒเบ™ MS SQL Server
DBMS เบซเบผเบฒเบเบฎเบนเบšเปเบšเบšเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบฎเบนเบšเปเบšเบšเป€เบญเบเบฐเบชเบฒเบ™
     เบฎเบนเบšเปเบšเบšเบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เปƒเบ™ MarkLogic
     เบฎเบนเบšเปเบšเบšเบเบฒเบŸเปƒเบ™ MarkLogic
DBMS เบซเบผเบฒเบเปเบšเบš "เป‚เบ”เบเบšเปเปˆเบกเบตเบฎเบนเบšเปเบšเบšเบ•เบปเป‰เบ™เบ•เป"
     ArangoDB
     OrientDB
     Azure CosmosDB
DBMS เบซเบผเบฒเบเบฎเบนเบšเปเบšเบšเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบฎเบนเบšเปเบšเบšเบเบฒเบŸ?
เบชเบฐเบซเบฅเบธเบš
Poll

Polyglot เบ„เบปเบ‡เบขเบนเปˆ

เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เบ™เบตเป‰เบ™เปเบฒเป„เบ›เบชเบนเปˆเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบšเบฒเบ‡เบ„เบฑเป‰เบ‡เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบขเบนเปˆเปƒเบ™เบเบญเบšเบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบซเบ™เบถเปˆเบ‡เบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เปƒเบŠเป‰ DBMSs เบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบซเบผเบฒเบเป€เบžเบทเปˆเบญเป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เปเบฅเบฐเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ•เปˆเบฒเบ‡เป†เปƒเบ™เบเบฒเบ™เบ›เบธเบ‡เปเบ•เปˆเบ‡เบžเบงเบเบกเบฑเบ™, เปเบ•เปˆเบฅเบฐเบ„เบปเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบฎเบนเบšเปเบšเบšเบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡. เบ”เป‰เบงเบเบกเบทเป€เบšเบปเบฒเบ‚เบญเบ‡ M. Fowler, เบœเบนเป‰เบ‚เบฝเบ™ เบ›เบทเป‰เบกโ€‹เบ—เบตเปˆโ€‹เบกเบตโ€‹เบŠเบทเปˆโ€‹เบชเบฝเบ‡โ€‹เบˆเปเบฒโ€‹เบ™เบงเบ™โ€‹เบซเบ™เบถเปˆเบ‡โ€‹เปเบฅเบฐโ€‹เบซเบ™เบถเปˆเบ‡โ€‹เปƒเบ™โ€‹ เบœเบนเป‰เบ‚เบฝเบ™เบฎเปˆเบงเบก Agile Manifesto, เบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ™เบตเป‰เป€เบญเบตเป‰เบ™เบงเปˆเบฒ เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบซเบผเบฒเบเบŠเบฐเบ™เบดเบ” (โ€œเบ„เบงเบฒเบกเบ„เบปเบ‡เบ•เบปเบงเบ‚เบญเบ‡ polyglotโ€).

Fowler เบเบฑเบ‡เบกเบตเบ•เบปเบงเบขเปˆเบฒเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰เบ‚เบญเบ‡เบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบ„เปเบฒเบฎเป‰เบญเบ‡เบชเบฐเบซเบกเบฑเบเบ—เบตเปˆเบกเบตเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เป€เบ•เบฑเบกเบ—เบตเปˆเปเบฅเบฐเป‚เบซเบผเบ”เบชเบนเบ‡เปƒเบ™เบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเบ‚เบญเบ‡เบญเบตเบ„เบญเบกเป€เบกเบตเบŠ.

DBMSs เบซเบผเบฒเบเปเบšเบšเป€เบ›เบฑเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ‚เปเป‰เบกเบนเบ™เบ‚เปˆเบฒเบงเบชเบฒเบ™เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบšเป?

เบ•เบปเบงเบขเปˆเบฒเบ‡เบ™เบตเป‰, เปเบ™เปˆเบ™เบญเบ™, เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เป€เบเบตเบ™เป„เบ›, เปเบ•เปˆเบšเบฒเบ‡เบเบฒเบ™เบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเปƒเบ™เบเบฒเบ™เป€เบฅเบทเบญเบเบซเบ™เบถเปˆเบ‡เบซเบผเบทเบญเบทเปˆเบ™ DBMS เบชเปเบฒเบฅเบฑเบšเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™เบชเบฒเบกเบฒเบ”เบžเบปเบšเป€เบซเบฑเบ™, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡,. เบ—เบตเปˆเบ™เบตเป‰.

เป€เบซเบฑเบ™โ€‹เป„เบ”เป‰โ€‹เปเบˆเป‰เบ‡โ€‹เบงเปˆเบฒโ€‹เบเบฒเบ™โ€‹เป€เบ›เบฑเบ™โ€‹เบ„เบปเบ™โ€‹เบฎเบฑเบšเปƒเบŠเป‰โ€‹เปƒเบ™โ€‹เบชเบงเบ™โ€‹เบชเบฑเบ”โ€‹เบ™เบฑเป‰เบ™โ€‹เบšเปเปˆโ€‹เปเบกเปˆเบ™โ€‹เป€เบฅเบทเปˆเบญเบ‡โ€‹เบ‡เปˆเบฒเบ.

  • เบˆเปเบฒเบ™เบงเบ™เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™เป€เบ•เบตเบšเป‚เบ•เปƒเบ™เบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบ‚เบญเบ‡เบˆเปเบฒเบ™เบงเบ™ DBMS เบ—เบตเปˆเปƒเบŠเป‰; เบˆเปเบฒเบ™เบงเบ™เบฅเบฐเบซเบฑเบ” synchronizing เบ‚เปเป‰เบกเบนเบ™เปเบกเปˆเบ™เบ”เบตเบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบšเปเปˆเบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เบเบฑเบšเบชเบตเปˆเบซเบผเปˆเบฝเบกเบ‚เบญเบ‡เบ•เบปเบงเป€เบฅเบเบ™เบตเป‰.
  • เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบˆเปเบฒเบ™เบงเบ™ DBMSs เบซเบผเบฒเบเป†เบ„เบฑเป‰เบ‡เบ—เบตเปˆเปƒเบŠเป‰, เบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบเปƒเบ™เบเบฒเบ™เบชเบฐเบซเบ™เบญเบ‡เบ„เบธเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบงเบดเบชเบฒเบซเบฐเบเบดเบ” (เบ‚เบฐเบซเบ™เบฒเบ”, เบ„เบงเบฒเบกเบ—เบปเบ™เบ—เบฒเบ™เบ•เปเปˆเบ„เบงเบฒเบกเบœเบดเบ”, เบ„เบงเบฒเบกเบžเป‰เบญเบกเบชเบนเบ‡) เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐ DBMS เบ—เบตเปˆเปƒเบŠเป‰เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™.
  • เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบงเบดเบชเบฒเบซเบฐเบเบดเบ”เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบเปˆเบญเบเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ—เบฑเบ‡เบซเบกเบปเบ” - เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒ.

เบˆเบฒเบเบ—เบฑเบ”เบชเบฐเบ™เบฐเบ‚เบญเบ‡เบœเบนเป‰เบญเปเบฒเบ™เบงเบเบเบฒเบ™เบชเบงเบ™เบชเบฑเบ”, เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒ:

  • เบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบ‚เบญเบ‡เบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบเบ‚เบญเบ‡เปƒเบšเบญเบฐเบ™เบธเบเบฒเบ”เปเบฅเบฐเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ”เป‰เบฒเบ™เบงเบดเบŠเบฒเบเบฒเบ™เบˆเบฒเบเบœเบนเป‰เบœเบฐเบฅเบดเบ” DBMS.
  • เบžเบฐเบ™เบฑเบเบ‡เบฒเบ™เป€เบเบตเบ™เบเบณเบ™เบปเบ” เปเบฅเบฐเบเบณเบ™เบปเบ”เป€เบงเบฅเบฒเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™.
  • เบเบฒเบ™เบชเบนเบ™เป€เบชเบเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบเบฒเบ™เป€เบ‡เบดเบ™เป‚เบ”เบเบเบปเบ‡เบซเบผเบทเบเบฒเบ™เบฅเบปเบ‡เป‚เบ—เบ”เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ‚เปเป‰เบกเบนเบ™เบšเปเปˆเบชเบญเบ”เบ„เปˆเบญเบ‡เบเบฑเบ™.

เบกเบตเบเบฒเบ™เป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เบขเปˆเบฒเบ‡เบซเบผเบงเบ‡เบซเบผเบฒเบเปƒเบ™เบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบเบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบเบฒเบ™เป€เบ›เบฑเบ™เป€เบˆเบปเป‰เบฒเบ‚เบญเบ‡เบฅเบฐเบšเบปเบš (TCO). เบกเบตเบงเบดเบ—เบตเปƒเบ”เบญเบญเบเบˆเบฒเบเบชเบฐเบ–เบฒเบ™เบฐเบเบฒเบ™เบ‚เบญเบ‡ "เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบซเบผเบฒเบ"?

เบซเบผเบฒเบเปเบšเบš

เบ„เปเบฒเบงเปˆเบฒ "เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒ multivariate" เป„เบ”เป‰เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™เบ›เบต 2011. เบ„เบงเบฒเบกเบฎเบฑเบšเบฎเบนเป‰เบเปˆเบฝเบงเบเบฑเบšเบšเบฑเบ™เบซเบฒเบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เปเบฅเบฐเบเบฒเบ™เบŠเบญเบเบซเบฒเบงเบดเบ—เบตเปเบเป‰เป„เบ‚เปƒเบŠเป‰เป€เบงเบฅเบฒเบซเบผเบฒเบเบ›เบต, เปเบฅเบฐเปƒเบ™เบ›เบต 2015, เบœเปˆเบฒเบ™เบ›เบฒเบเบ‚เบญเบ‡เบ™เบฑเบเบงเบดเป€เบ„เบฒเบฐ Gartner, เบ„เปเบฒเบ•เบญเบšเป„เบ”เป‰เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™:

  • เบˆเบฒเบ "เบ„เบนเปˆเบกเบทเบเบฒเบ™เบ•เบฐเบซเบผเบฒเบ”เบชเปเบฒเบฅเบฑเบš NoSQL DBMSs - 2015"

    เบญเบฐเบ™เบฒเบ„เบปเบ”เบ‚เบญเบ‡ DBMSs, เบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเปเบฅเบฐเบงเบดเบ—เบตเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบžเบงเบเบกเบฑเบ™เปเบกเปˆเบ™เบซเบผเบฒเบเปเบšเบš.

  • เบˆเบฒเบ "Magic Quadrant เบชเปเบฒเบฅเบฑเบš ODBMS - 2016"

    DBMSs เบŠเบฑเป‰เบ™เบ™เปเบฒเบ‚เบญเบ‡เบเบฒเบ™เบ”เปเบฒเป€เบ™เบตเบ™เบ‡เบฒเบ™เบˆเบฐเบชเบฐเป€เบซเบ™เบตเบซเบผเบฒเบเบฎเบนเบšเปเบšเบš - เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เปเบฅเบฐเบšเปเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡ - เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เป€เบงเบ—เบตเบ”เบฝเบง.

เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเป€เบงเบฅเบฒเบ™เบตเป‰เบ™เบฑเบเบงเบดเป€เบ„เบฒเบฐ Gartner เบ–เบทเบเบ•เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบ„เบฒเบ”เบ„เบฐเป€เบ™เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ. เบ–เป‰เบฒเบ—เปˆเบฒเบ™เป„เบ›เบซเบฒเบซเบ™เป‰เบฒเบ”เป‰เบงเบ เบเบฒเบ™เบˆเบฑเบ”เบญเบฑเบ™เบ”เบฑเบšเบซเบผเบฑเบ DBMS เปƒเบ™ DB-Engines, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เบงเปˆเบฒะพเบœเบนเป‰เบ™เปเบฒเบชเปˆเบงเบ™เปƒเบซเบเปˆเบ‚เบญเบ‡เบ•เบปเบ™เบงเบฒเบ‡เบ•เปเบฒเปเบซเบ™เปˆเบ‡เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐเป€เบ›เบฑเบ™ DBMSs เบซเบผเบฒเบเปเบšเบš. เบ”เบฝเบงเบเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰เปƒเบ™เบซเบ™เป‰เบฒเบ—เบตเปˆเบกเบตเบเบฒเบ™เบˆเบฑเบ”เบญเบฑเบ™เบ”เบฑเบšเบชเปˆเบงเบ™เบ•เบปเบงเปƒเบ”เป†.

เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™ DBMS - เบœเบนเป‰เบ™เปเบฒเปƒเบ™เปเบ•เปˆเบฅเบฐเบเบฒเบ™เบˆเบฑเบ”เบญเบฑเบ™เบ”เบฑเบšเบชเปˆเบงเบ™เบ•เบปเบง, เป€เบŠเบดเปˆเบ‡เบญเป‰เบฒเบ‡เบงเปˆเบฒเบกเบตเบซเบผเบฒเบเปเบšเบš. เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐ DBMS, เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบ•เบปเป‰เบ™เบชเบฐเบšเบฑเบš (เบ—เบตเปˆเป€เบ„เบตเบเป€เบ›เบฑเบ™เบซเบ™เบถเปˆเบ‡เบ„เบฑเป‰เบ‡เบ”เบฝเบง) เปเบฅเบฐเบžเป‰เบญเบกเบเบฑเบšเบกเบฑเบ™เปเบšเบšเบˆเปเบฒเบฅเบญเบ‡เบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เปเบกเปˆเบ™เบŠเบตเป‰เปƒเบซเป‰เป€เบซเบฑเบ™. เบเบฑเบ‡เบกเบตเบฅเบฒเบเบŠเบทเปˆ DBMSs เบ—เบตเปˆเบ•เบฑเป‰เบ‡เบ•เบปเบงเป€เบญเบ‡เป€เบ›เบฑเบ™ "เบซเบผเบฒเบเปเบšเบšเป€เบ”เบตเบก" เปเบฅเบฐ, เบญเบตเบ‡เบ•เบฒเบกเบœเบนเป‰เบชเป‰เบฒเบ‡, เบšเปเปˆเบกเบตเบฎเบนเบšเปเบšเบšเบเบฒเบ™เบชเบทเบšเบ—เบญเบ”เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™เปƒเบ”เป†.

DBMS เบฎเบนเบšเปเบšเบšเป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™ เบฎเบนเบšเปเบšเบšเป€เบžเบตเปˆเบกเป€เบ•เบตเบก
Oracle เบ„เบงเบฒเบกเบชเบณเบžเบฑเบ™ เบเบฃเบฒเบš, เป€เบญเบเบฐเบชเบฒเบ™
MS SQL เบ„เบงเบฒเบกเบชเบณเบžเบฑเบ™ เบเบฃเบฒเบš, เป€เบญเบเบฐเบชเบฒเบ™
PostgreSQL เบ„เบงเบฒเบกเบชเบณเบžเบฑเบ™ เบเบฃเบฒเบš*, เป€เบญเบเบฐเบชเบฒเบ™
MarkLogic เบชเบฒเบฅเบฐเบ„เบฐเบ”เบต เบเบฃเบฒเบš, เบ„เบงเบฒเบกเบชเบณเบžเบฑเบ™
MongoDB เบชเบฒเบฅเบฐเบ„เบฐเบ”เบต Key-value, เบเบฃเบฒเบš*
DataStax เบ–เบฑเบ™เบเบงเป‰เบฒเบ‡ เบชเบฒเบฅเบฐเบ„เบฐเบ”เบต, เบเบฃเบฒเบŸ
Redis เบ„เบต-เบ„เปˆเบฒ เบชเบฒเบฅเบฐเบ„เบฐเบ”เบต, เบเบฃเบฒเบš *
ArangoDB - เบเบฃเบฒเบš, เป€เบญเบเบฐเบชเบฒเบ™
OrientDB - เบเบฃเบฒเบš, เป€เบญเบเบฐเบชเบฒเบ™, เบ„เบงเบฒเบกเบชเบณเบžเบฑเบ™
Azure CosmosDB - เบเบฃเบฒเบš, เป€เบญเบเบฐเบชเบฒเบ™, เบ„เบงเบฒเบกเบชเบณเบžเบฑเบ™

เบซเบกเบฒเบเป€เบซเบ”เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡

เป€เบ„เบทเปˆเบญเบ‡เปเบฒเบเบ”เบฒเบงเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบฒเบเป€เบซเบ”เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบˆเบญเบ‡:

  • PostgreSQL DBMS เบšเปเปˆเบฎเบญเบ‡เบฎเบฑเบšเบฎเบนเบšเปเบšเบšเบ‚เปเป‰เบกเบนเบ™เบเบฒเบŸ, เปเบ•เปˆเบœเบฐเบฅเบดเบ”เบ•เบฐเบžเบฑเบ™เบ™เบตเป‰เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบกเบฑเบ™ เบญเบตเบ‡เปƒเบชเปˆเบกเบฑเบ™, เป€เบŠเบฑเปˆเบ™ AgensGraph.
  • เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบš MongoDB, เบกเบฑเบ™เบ–เบทเบเบ•เป‰เบญเบ‡เบเบงเปˆเบฒเบ—เบตเปˆเบˆเบฐเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบกเบตเบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบเบฒเบŸเปƒเบ™เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบก ($lookup, $graphLookup) เบเปˆเบงเบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบฎเบนเบšเปเบšเบšเบเบฒเบŸ, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒ, เปเบ™เปˆเบ™เบญเบ™, เบเบฒเบ™เปเบ™เบฐเบ™เปเบฒเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบšเบฒเบ‡เบขเปˆเบฒเบ‡เปƒเบ™เบฅเบฐเบ”เบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบเปƒเบ™เบ—เบดเบ”เบ—เบฒเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบฎเบนเบšเปเบšเบšเบเบฒเบŸ.
  • เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบš Redis, เบžเบงเบเป€เบฎเบปเบฒเบซเบกเบฒเบเป€เบ–เบดเบ‡เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ RedisGraph.

เบ•เปเปˆเป„เบ›, เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบŠเบฑเป‰เบ™เบฎเบฝเบ™, เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบชเบฐเปเบ”เบ‡เบงเบดเบ—เบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบซเบผเบฒเบเป†เปเบšเบšเบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เปƒเบ™ DBMS เบˆเบฒเบเบซเป‰เบญเบ‡เบฎเบฝเบ™เบ™เบตเป‰. เบžเบงเบเป€เบฎเบปเบฒเบˆเบฐเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบ•เบปเบงเปเบšเบšเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡, เป€เบญเบเบฐเบชเบฒเบ™เปเบฅเบฐเบเบฒเบŸเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบชเบธเบ”เปเบฅเบฐเบ™เปเบฒเปƒเบŠเป‰เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡ DBMSs เบชเบฐเป€เบžเบฒเบฐเป€เบžเบทเปˆเบญเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบงเปˆเบฒ "เบชเบดเปˆเบ‡เบ—เบตเปˆเบ‚เบฒเบ”เบซเบฒเบเป„เบ›" เป„เบ”เป‰เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”.

DBMS เบซเบผเบฒเบเบฎเบนเบšเปเบšเบšเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบ•เบปเบงเปเบšเบšเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡

DBMSs เบŠเบฑเป‰เบ™เบ™เปเบฒเปƒเบ™เบ›เบฐเบˆเบธเบšเบฑเบ™เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡; เบเบฒเบ™เบ„เบฒเบ”เบ„เบฐเป€เบ™เบ‚เบญเบ‡ Gartner เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบงเปˆเบฒเป€เบ›เบฑเบ™เบ„เบงเบฒเบกเบˆเบดเบ‡เบ–เป‰เบฒ RDBMSs เบšเปเปˆเป„เบ”เป‰เบชเบฐเปเบ”เบ‡เบเบฒเบ™เป€เบ„เบทเปˆเบญเบ™เป„เบซเบงเปƒเบ™เบ—เบดเบ”เบ—เบฒเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เปเบšเบšเบˆเปเบฒเบฅเบญเบ‡เบซเบผเบฒเบ. เปเบฅเบฐเบžเบงเบเป€เบ‚เบปเบฒเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™. เปƒเบ™เบ›เบฑเบ”เบˆเบธเบšเบฑเบ™เบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบตเปˆเบงเปˆเบฒ DBMS เบซเบผเบฒเบเบฎเบธเปˆเบ™เปเบกเปˆเบ™เบ„เป‰เบฒเบเบ„เบทเบกเบตเบ”เบชเบฐเบงเบดเบ”เป€เบŠเบตเปเบฅเบ™, เป€เบŠเบดเปˆเบ‡เบšเปเปˆเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบซเบเบฑเบ‡เป„เบ”เป‰เบ”เบต, เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเป„เบ›เบซเบฒ Larry Ellison เป‚เบ”เบเบเบปเบ‡.

เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบœเบนเป‰เบ‚เบฝเบ™เบกเบฑเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบšเบšเบˆเปเบฒเบฅเบญเบ‡เบซเบผเบฒเบเบฎเบนเบšเปเบšเบšเปƒเบ™ Microsoft SQL Server, เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆ RDBMS เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบฎเบนเบšเปเบšเบšเป€เบญเบเบฐเบชเบฒเบ™เปเบฅเบฐเบเบฒเบŸเบˆเบฐเบ–เบทเบเบญเบฐเบ—เบดเบšเบฒเบ.

เบฎเบนเบšเปเบšเบšเป€เบญเบเบฐเบชเบฒเบ™เปƒเบ™ MS SQL Server

เบกเบตเบชเบญเบ‡เบšเบปเบ”เบ„เบงเบฒเบกเบ—เบตเปˆเบ”เบตเป€เบฅเบตเบ”เบเปˆเบฝเบงเบเบฑเบš Habre เบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™ MS SQL Server เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบฎเบนเบšเปเบšเบšเป€เบญเบเบฐเบชเบฒเบ™;

เบงเบดเบ—เบตเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบฎเบนเบšเปเบšเบšเป€เบญเบเบฐเบชเบฒเบ™เปƒเบ™ MS SQL Server เปเบกเปˆเบ™เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบ›เบปเบเบเบฐเบ•เบดเบชเปเบฒเบฅเบฑเบš DBMSs เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡: เป€เบญเบเบฐเบชเบฒเบ™ JSON เบ–เบทเบเบชเบฐเป€เบซเบ™เบตเปƒเบซเป‰เบ–เบทเบเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เบŠเปˆเบญเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเบ—เปเบฒเบกเบฐเบ”เบฒ. เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบฎเบนเบšเปเบšเบšเป€เบญเบเบฐเบชเบฒเบ™เปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบชเบฐเบซเบ™เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบžเบดเป€เบชเบ”เป€เบžเบทเปˆเบญเบงเบดเป€เบ„เบฒเบฐ JSON เบ™เบตเป‰:

  • JSON_VALUE เป€เบžเบทเปˆเบญเบชเบฐเบเบฑเบ”เบ„เปˆเบฒเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ” scalar,
  • JSON_QUERY เป€เบžเบทเปˆเบญเบชเบฐเบเบฑเบ”เป€เบญเบเบฐเบชเบฒเบ™เบเปˆเบญเบ.

เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบ—เบตเบชเบญเบ‡เบ‚เบญเบ‡เบ—เบฑเบ‡เบชเบญเบ‡เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เปเบกเปˆเบ™เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบเปƒเบ™ syntax เบ„เป‰เบฒเบเบ„เบท JSONPath.

เบขเปˆเบฒเบ‡เปเบ—เป‰เบˆเบดเบ‡, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป€เบงเบปเป‰เบฒเป„เบ”เป‰เบงเปˆเบฒเป€เบญเบเบฐเบชเบฒเบ™เบ—เบตเปˆเป€เบเบฑเบšเป„เบงเป‰เปƒเบ™เบฅเบฑเบเบชเบฐเบ™เบฐเบ™เบตเป‰เบšเปเปˆเปเบกเปˆเบ™ "เบซเบ™เปˆเบงเบเบ‡เบฒเบ™เบŠเบฑเป‰เบ™เบ—เปเบฒเบญเบดเบ”" เปƒเบ™ DBMS เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡, เบšเปเปˆเป€เบซเบกเบทเบญเบ™เบเบฑเบš tuples. เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ, เปƒเบ™ MS SQL Server เบ›เบฐเบˆเบธเบšเบฑเบ™เบšเปเปˆเบกเบตเบ”เบฑเบ”เบชเบฐเบ™เบตเปƒเบ™เบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเบ‚เบญเบ‡เป€เบญเบเบฐเบชเบฒเบ™ JSON, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เบเบฒเบเบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป‚เบ”เบเปƒเบŠเป‰เบ„เปˆเบฒเบ‚เบญเบ‡เบŠเปˆเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบฅเบฐเปเบกเป‰เบเบฐเบ—เบฑเป‰เบ‡เป€เบฅเบทเบญเบเป€เบญเบเบฐเบชเบฒเบ™เป‚เบ”เบเปƒเบŠเป‰เบ„เปˆเบฒเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบชเป‰เบฒเบ‡เบ„เปเบฅเปเบฒเบ„เปเบฒเบ™เบงเบ™เบชเปเบฒเบฅเบฑเบšเบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเปเบฅเบฐเบ”เบฑเบ”เบชเบฐเบ™เบตเบเปˆเบฝเบงเบเบฑเบšเบกเบฑเบ™.

เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, MS SQL Server เบชเบฐเบซเบ™เบญเบ‡เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เป€เบญเบเบฐเบชเบฒเบ™ JSON เบขเปˆเบฒเบ‡เบชเบฐเบ”เบงเบเบˆเบฒเบเป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™. FOR JSON PATH - เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰, เปƒเบ™เบ„เบงเบฒเบกเบซเบกเบฒเบเบ—เบตเปˆเปเบ™เปˆเบ™เบญเบ™, เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบกเบเบฑเบšเบญเบฑเบ™เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ, เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ—เปเบฒเบกเบฐเบ”เบฒ. เบกเบฑเบ™เป€เบ›เบฑเบ™เบ—เบตเปˆเบŠเบฑเบ”เป€เบˆเบ™เบงเปˆเบฒเบšเปเปˆเบงเปˆเบฒ RDBMS เบˆเบฐเป„เบงเบ›เบฒเบ™เปƒเบ”, เบงเบดเบ—เบตเบเบฒเบ™เบ™เบตเป‰เบ‚เบฑเบ”เบเบฑเบšเบญเบธเบ”เบปเบกเบเบฒเบ™เบ‚เบญเบ‡เป€เบญเบเบฐเบชเบฒเบ™ DBMSs, เป€เบŠเบดเปˆเบ‡เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ„เปเบฒเบ•เบญเบšเบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ—เบตเปˆเบ™เบดเบเบปเบก, เปเบฅเบฐเบžเบฝเบ‡เปเบ•เปˆเบชเบฒเบกเบฒเบ”เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ‚เบญเบ‡เบ„เบงเบฒเบกเบ‡เปˆเบฒเบเบ‚เบญเบ‡เบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ, เปเบ•เปˆเบšเปเปˆเปเบกเปˆเบ™เบ„เบงเบฒเบกเป„เบง.

เบชเบธเบ”เบ—เป‰เบฒเบ, MS SQL Server เบŠเปˆเบงเบเปƒเบซเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบกเบ‚เบญเบ‡เบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เป€เบญเบเบฐเบชเบฒเบ™: เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ” decompose JSON เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป‚เบ”เบเปƒเบŠเป‰ OPENJSON. เบ–เป‰เบฒเป€เบญเบเบฐเบชเบฒเบ™เบšเปเปˆเบฅเบฝเบš, เบ—เปˆเบฒเบ™เบˆเบฐเบ•เป‰เบญเบ‡เปƒเบŠเป‰ CROSS APPLY.

เบฎเบนเบšเปเบšเบšเบเบฃเบฒเบŸเปƒเบ™ MS SQL Server

เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบชเปเบฒเบฅเบฑเบšเบฎเบนเบšเปเบšเบšเบเบฒเบŸ (LPG) เบเบฑเบ‡เบ–เบทเบเบ›เบฐเบ•เบดเบšเบฑเบ”เบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบชเปˆเบงเบ™เปƒเบ™ Microsoft SQL Server เบ„เบฒเบ”โ€‹เบ„เบฐโ€‹เป€เบ™: เบชเบฐเป€เปœเบตเปƒเบซเป‰เปƒเบŠเป‰เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบžเบดเป€เบชเบ”เป€เบžเบทเปˆเบญเป€เบเบฑเบš nodes เปเบฅเบฐเป€เบเบฑเบšเบ‚เบญเบšเบเบฒเบŸ. เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เป‚เบ”เบเปƒเบŠเป‰เบเบฒเบ™เบชเบฐเปเบ”เบ‡เบญเบญเบ CREATE TABLE AS NODE ะธ CREATE TABLE AS EDGE respectively

เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เบ—เปเบฒเบญเบดเบ”เปเบกเปˆเบ™เบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เปเบฒเบกเบฐเบ”เบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบšเบฑเบ™เบ—เบถเบ, เบ„เบงเบฒเบกเปเบ•เบเบ•เปˆเบฒเบ‡เบžเบฒเบเบ™เบญเบเบžเบฝเบ‡เปเบ•เปˆเบงเปˆเบฒเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ›เบฐเบเบญเบšเบกเบตเบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเบฅเบฐเบšเบปเบš. $node_id โ€” เบ•เบปเบงเบฅเบฐเบšเบธเบชเบฐเป€เบžเบฒเบฐเบ‚เบญเบ‡เป€เบชเบฑเป‰เบ™เบเบฃเบฒเบŸเบžเบฒเบเปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™.

เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™, เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เบ—เบตเบชเบญเบ‡เบกเบตเบŠเปˆเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบฅเบฐเบšเบปเบš $from_id ะธ $to_id, เบฅเบฒเบเบเบฒเบ™เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบเปเบฒเบ™เบปเบ”เบขเปˆเบฒเบ‡เบŠเบฑเบ”เป€เบˆเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบฅเบฐเบซเบงเปˆเบฒเบ‡ nodes. เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบ›เบฐเป€เบžเบ”.

DBMSs เบซเบผเบฒเบเปเบšเบšเป€เบ›เบฑเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ‚เปเป‰เบกเบนเบ™เบ‚เปˆเบฒเบงเบชเบฒเบ™เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบšเป? เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบเบปเบเบ•เบปเบงเบขเปˆเบฒเบ‡เบ™เบตเป‰เบ”เป‰เบงเบเบ•เบปเบงเบขเปˆเบฒเบ‡. เปƒเบซเป‰เบ‚เปเป‰เบกเบนเบ™เบเบฃเบฒเบŸเบกเบตเป‚เบ„เบ‡เบฎเปˆเบฒเบ‡เบ„เบทเบเบฑเบšเบ—เบตเปˆเบชเบฐเปเบ”เบ‡เบขเบนเปˆเปƒเบ™เบฎเบนเบš. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เป€เบžเบทเปˆเบญเบชเป‰เบฒเบ‡เป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบ—เบตเปˆเบชเบญเบ”เบ„เป‰เบญเบ‡เบเบฑเบ™เปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบชเบญเบšเบ–เบฒเบก DDL เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

CREATE TABLE Person (
  ID INTEGER NOT NULL,
  name VARCHAR(100)
) AS NODE;

CREATE TABLE Cafe (
  ID INTEGER NOT NULL, 
  name VARCHAR(100), 
) AS NODE;

CREATE TABLE likes (
  rating INTEGER
) AS EDGE;

CREATE TABLE friendOf
  AS EDGE;

ALTER TABLE likes
  ADD CONSTRAINT EC_LIKES CONNECTION (Person TO Cafe);

เบ„เบงเบฒเบกเบชเบฐเป€เบžเบฒเบฐเบ‚เบญเบ‡เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเปเบกเปˆเบ™เบงเปˆเบฒเปƒเบ™เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ•เปเปˆเบเบฑเบšเบžเบงเบเบกเบฑเบ™เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰เบฎเบนเบšเปเบšเบšเบเบฒเบŸเบ—เบตเปˆเบกเบต syntax เบ„เป‰เบฒเบเบ„เบท Cypher (เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, ".*"etc. เบเบฑเบ‡เบšเปเปˆเป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™). เบญเบตเบ‡เบ•เบฒเบกเบเบฒเบ™เบงเบฑเบ”เปเบ—เบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”, เบกเบฑเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒเบงเบดเบ—เบตเบเบฒเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เปเบ•เบเบ•เปˆเบฒเบ‡เบˆเบฒเบเบงเบดเบ—เบตเบเบฒเบ™เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ›เบปเบเบเบฐเบ•เบดเปเบฅเบฐเบ–เบทเบเบ›เบฑเบšเบ›เบธเบ‡เปƒเบซเป‰เป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบเบฒเบŸเบ”เบฑเปˆเบ‡เบเปˆเบฒเบง.

SELECT Cafe.name
  FROM Person, likes, Cafe
  WHERE MATCH (Person-(friendOf)-(likes)->Cafe)
  AND Person.name = 'John';

เบเบดเปˆเบ‡เป„เบ›เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เบกเบฑเบ™เป€เบ›เบฑเบ™เบเบฒเบ™เบเบฒเบเบ—เบตเปˆเบˆเบฐเบšเปเปˆเปƒเบŠเป‰เบฎเบนเบšเปเบšเบšเบเบฒเบŸเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง, เป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบงเปˆเบฒเปƒเบ™เปเบšเบšเบชเบญเบšเบ–เบฒเบก SQL เบ—เปเบฒเบกเบฐเบ”เบฒเป€เบžเบทเปˆเบญเปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™, เบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบžเบฐเบเบฒเบเบฒเบกเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเป€เบžเบทเปˆเบญเปƒเบซเป‰เป„เบ”เป‰เบฅเบฐเบšเบปเบš "graph" node identifiers ($node_id, $from_id, $to_id; เบชเปเบฒเบฅเบฑเบšเป€เบซเบ”เบœเบปเบ™เบ”เบฝเบงเบเบฑเบ™, เบ„เปเบฒเบ–เบฒเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เปƒเบชเปˆเบ‚เปเป‰เบกเบนเบ™เบšเปเปˆเป„เบ”เป‰เบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เบขเบนเปˆเบ—เบตเปˆเบ™เบตเป‰เบเป‰เบญเบ™เบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบกเบตเบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเบ—เบตเปˆเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™).

เป€เบžเบทเปˆเบญเบชเบฐเบซเบผเบธเบšเบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เป€เบญเบเบฐเบชเบฒเบ™เปเบฅเบฐเบฎเบนเบšเปเบšเบšเบเบฒเบŸเปƒเบ™ MS SQL Server, เบ‚เป‰เบญเบเบˆเบฐเบชเบฑเบ‡เป€เบเบ”เบงเปˆเบฒเบเบฒเบ™เบˆเบฑเบ”เบ•เบฑเป‰เบ‡เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบšเบšเบˆเปเบฒเบฅเบญเบ‡เปเบšเบšเบซเบ™เบถเปˆเบ‡เบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบ„เบปเบ™เบญเบทเปˆเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบšเปเปˆเบ›เบฐเบชเบปเบšเบœเบปเบ™เบชเปเบฒเป€เบฅเบฑเบ”, เบ•เบปเป‰เบ™เบ•เปเบˆเบฒเบเบ—เบฑเบ”เบชเบฐเบ™เบฐเบ‚เบญเบ‡เบเบฒเบ™เบญเบญเบเปเบšเบšเบžเบฒเบชเบฒ. เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบˆเปเบฒเป€เบ›เบฑเบ™เบ—เบตเปˆเบˆเบฐเบ‚เบฐเบซเบเบฒเบเบžเบฒเบชเบฒเบซเบ™เบถเปˆเบ‡เบเบฑเบšเบญเบตเบเบžเบฒเบชเบฒเบซเบ™เบถเปˆเบ‡, เบžเบฒเบชเบฒเบšเปเปˆเปเบกเปˆเบ™ "orthogonal", เบเบปเบ”เบฅเบฐเบšเบฝเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เปเบ›เบเบ›เบฐเบซเบผเบฒเบ”.

DBMS เบซเบผเบฒเบเบฎเบนเบšเปเบšเบšเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบฎเบนเบšเปเบšเบšเป€เบญเบเบฐเบชเบฒเบ™

เปƒเบ™เบžเบฒเบเบ™เบตเป‰, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบขเบฒเบเบˆเบฐเบชเบฐเปเบ”เบ‡เปƒเบซเป‰เป€เบซเบฑเบ™เป€เบ–เบดเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เปเบšเบšเบˆเปเบฒเบฅเบญเบ‡เบซเบผเบฒเบเปเบšเบšเปƒเบ™เป€เบญเบเบฐเบชเบฒเบ™ DBMSs เป‚เบ”เบเปƒเบŠเป‰เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡ MongoDB เบ—เบตเปˆเบšเปเปˆเป€เบ›เบฑเบ™เบ—เบตเปˆเบ™เบดเบเบปเบกเบ—เบตเปˆเบชเบธเบ” (เบ”เบฑเปˆเบ‡เบ—เบตเปˆเป„เบ”เป‰เบเปˆเบฒเบง, เบกเบฑเบ™เบกเบตเบžเบฝเบ‡เปเบ•เปˆเบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบเบฒเบŸเบ—เบตเปˆเบกเบตเป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. $lookup ะธ $graphLookup, เบšเปเปˆเป„เบ”เป‰เป€เบฎเบฑเบ”เบงเบฝเบเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เป€เบเบฑเบš sharded), เปเบ•เปˆเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡ DBMS เปเบเปˆเบซเบผเบฒเบเปเบฅเบฐ "เบงเบดเบชเบฒเบซเบฐเบเบดเบ”" MarkLogic.

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เปƒเบซเป‰เบŠเบธเบ”เป€เบเบฑเบšเบฅเบงเบšเบฅเบงเบกเป€เบญเบเบฐเบชเบฒเบ™ XML เบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เบ•เปเปˆเป„เบ›เบ™เบตเป‰ (MarkLogic เบเบฑเบ‡เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบ—เปˆเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเป€เบญเบเบฐเบชเบฒเบ™ JSON):

<Person INN="631803299804">
  <name>John</name>
  <surname>Smith</surname>
</Person>

เบฎเบนเบšเปเบšเบšเบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เปƒเบ™ MarkLogic

เบ—เบฑเบ”เบชเบฐเบ™เบฐเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบ‚เบญเบ‡เบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเป€เบญเบเบฐเบชเบฒเบ™เบชเบฒเบกเบฒเบ”เบ–เบทเบเบชเป‰เบฒเบ‡เบ‚เบทเป‰เบ™เป‚เบ”เบเปƒเบŠเป‰ เบชเบฐเปเบ”เบ‡เปเบกเปˆเปเบšเบš (เป€เบ™เบทเป‰เบญเปƒเบ™เบ‚เบญเบ‡เบญเบปเบ‡เบ›เบฐเบเบญเบš value เปƒเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบกเบต XPath arbitrary):

<template >
  <context>/Person</context>
  <rows>
    <row>
      <view-name>Person</view-name>
      <columns>
        <column>
          <name>SSN</name>
          <value>@SSN</value>
          <type>string</type>
        </column>
        <column>
          <name>name</name>
          <value>name</value>
        </column>
        <column>
          <name>surname</name>
          <value>surname</value>
        </column>
      </columns>
    </row>
  <rows>
</template>

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปเบเป‰เป„เบ‚เบกเบธเบกเป€เบšเบดเปˆเบ‡เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบ”เป‰เบงเบเบเบฒเบ™เบชเบญเบšเบ–เบฒเบก SQL (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบœเปˆเบฒเบ™ ODBC):

SELECT name, surname FROM Person WHERE name="John"

เปเบ•เปˆเบซเบ™เป‰เบฒเป€เบชเบเบ”เบฒเบ, เบกเบธเบกเป€เบšเบดเปˆเบ‡เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบ—เบตเปˆเบชเป‰เบฒเบ‡เป‚เบ”เบเปเบกเปˆเปเบšเบšเบเบฒเบ™เบชเบฐเปเบ”เบ‡เปเบกเปˆเบ™เบญเปˆเบฒเบ™เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เป€เบกเบทเปˆเบญเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบชเปเบฒเบฅเบฑเบšเบกเบฑเบ™, MarkLogic เบˆเบฐเบžเบฐเบเบฒเบเบฒเบกเปƒเบŠเป‰ เบ”เบฑเบ”เบชเบฐเบ™เบตเป€เบญเบเบฐเบชเบฒเบ™. เบเปˆเบญเบ™เบซเบ™เป‰เบฒเบ™เบตเป‰, MarkLogic เบกเบตเบ—เบฑเบ”เบชเบฐเบ™เบฐเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบˆเปเบฒเบเบฑเบ”, เบ—เบฑเบ‡เบซเบกเบปเบ” เบญเบตเบ‡โ€‹เบ•เบฒเบกโ€‹เบ”เบฑเบ”โ€‹เบŠเบฐโ€‹เบ™เบตโ€‹ เปเบฅเบฐเบชเบฒเบกเบฒเบ”เบ‚เบฝเบ™เป„เบ”เป‰, เปเบ•เปˆเบ•เบญเบ™เบ™เบตเป‰เบžเบงเบเบกเบฑเบ™เบ–เบทเบเบ–เบทเบงเปˆเบฒเบ–เบทเบเบเบปเบเป€เบฅเบตเบ.

เบฎเบนเบšเปเบšเบšเบเบฒเบŸเปƒเบ™ MarkLogic

เบ”เป‰เบงเบเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบฎเบนเบšเปเบšเบšเบเบฒเบŸ (RDF), เบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เปเบกเปˆเบ™เบ„เบทเบเบฑเบ™. เบญเบตเบเป€เบ—เบทเปˆเบญ เปœเบถเปˆเบ‡ เบ”เป‰เบงเบเบเบฒเบ™เบŠเปˆเบงเบเป€เบซเบผเบทเบญ เบชเบฐเปเบ”เบ‡เปเบกเปˆเปเบšเบš เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบ•เบปเบงเปเบ—เบ™ RDF เบ‚เบญเบ‡เบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเป€เบญเบเบฐเบชเบฒเบ™เบˆเบฒเบเบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡:

<template >
  <context>/Person</context>
    <vars>
      <var>
        <name>PREFIX</name>
        <val>"http://example.org/example#"</val>
      </var>
    </vars>
  <triples>
    <triple>
      <subject><value>sem:iri( $PREFIX || @SSN )</value></subject>
      <predicate><value>sem:iri( $PREFIX || surname )</value></predicate>
      <object><value>xs:string( surname )</value></object>
    </triple>
    <triple>
      <subject><value>sem:iri( $PREFIX || @SSN )</value></subject>
      <predicate><value>sem:iri( $PREFIX || name )</value></predicate>
      <object><value>xs:string( name )</value></object>
    </triple>
  </triples>
  </template>

เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เปเบเป‰เป„เบ‚เป€เบชเบฑเป‰เบ™เบชเบฐเปเบ”เบ‡เบœเบปเบ™ RDF เบ”เป‰เบงเบเบเบฒเบ™เบชเบญเบšเบ–เบฒเบก SPARQL:

PREFIX : <http://example.org/example#>
SELECT ?name ?surname {
  :631803299804 :name ?name ; :surname ?surname .
}

เบšเปเปˆเป€เบซเบกเบทเบญเบ™เบเบฑเบšเบ„เบงเบฒเบกเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบ™, MarkLogic เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบฎเบนเบšเปเบšเบšเบเบฒเบŸเปƒเบ™เบชเบญเบ‡เบงเบดเบ—เบตเบญเบทเปˆเบ™:

  1. DBMS เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบ‚เปเป‰เบกเบนเบ™ RDF เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบเบขเปˆเบฒเบ‡เป€เบ•เบฑเบกเบ—เบตเปˆ (เบชเบฒเบกเป€เบกเบฑเบ”เปƒเบ™เบ™เบฑเป‰เบ™เบˆเบฐเบ–เบทเบเป€เบญเบตเป‰เบ™ เบšเปเบฅเบดเบซเบฒเบ™ เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบกเบเบฑเบšเบชเบดเปˆเบ‡เบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡ เบชเบฐเบเบฑเบ”).
  2. RDF เปƒเบ™ serialization เบžเบดเป€เบชเบ”เบชเบฒเบกเบฒเบ”เบ–เบทเบเปƒเบชเปˆเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เป€เบญเบเบฐเบชเบฒเบ™ XML เบซเบผเบท JSON (เปเบฅเบฐ triplets เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบˆเบฐเบ–เบทเบเป€เบญเบตเป‰เบ™. เบšเปเปˆเบกเบตเบเบฒเบ™เบˆเบฑเบ”เบเบฒเบ™). เบ™เบตเป‰เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ‚เบญเบ‡เบเบปเบ™เป„เบ idref เปเบฅเบฐเบญเบทเปˆเบ™เป†.

เบ„เบงเบฒเบกเบ„เบดเบ”เบ—เบตเปˆเบ”เบตเบ‚เบญเบ‡เบงเบดเบ—เบตเบเบฒเบ™เบ—เบตเปˆ "เบˆเบดเบ‡" เป€เบฎเบฑเบ”เบงเบฝเบเบขเบนเปˆเปƒเบ™ MarkLogic เป„เบ”เป‰เบ–เบทเบเบกเบญเบšเปƒเบซเป‰เป‚เบ”เบ Optical API, เปƒเบ™เบ„เบงเบฒเบกเบซเบกเบฒเบเบ™เบตเป‰, เบกเบฑเบ™เปเบกเปˆเบ™เบฅเบฐเบ”เบฑเบšเบ•เปˆเปเบฒ, เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ‚เบญเบ‡เบกเบฑเบ™เปเบกเปˆเบ™เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบก - เป€เบžเบทเปˆเบญเบžเบฐเบเบฒเบเบฒเบกเบšเปเปˆเบกเบตเบ•เบปเบงเบ•เบปเบ™เบˆเบฒเบเบ•เบปเบงเปเบšเบšเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเปƒเบŠเป‰, เป€เบžเบทเปˆเบญเบฎเบฑเบšเบ›เบฐเบเบฑเบ™เบเบฒเบ™เป€เบฎเบฑเบ”เบงเบฝเบเบ—เบตเปˆเบชเบญเบ”เบ„เปˆเบญเบ‡เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบฎเบนเบšเปเบšเบšเบ•เปˆเบฒเบ‡เป†, เบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒ, เปเบฅเบฐเบญเบทเปˆเบ™เป†.

DBMS เบซเบผเบฒเบเปเบšเบš "เป‚เบ”เบเบšเปเปˆเบกเบตเบฎเบนเบšเปเบšเบšเบ•เบปเป‰เบ™เบ•เป"

เบเบฑเบ‡เบกเบต DBMSs เบขเบนเปˆเปƒเบ™เบ•เบฐเบซเบผเบฒเบ”เบ—เบตเปˆเบ•เบฑเป‰เบ‡เบ•เบปเบงเป€เบญเบ‡เป€เบ›เบฑเบ™เบซเบผเบฒเบเปเบšเบšเปƒเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™, เป‚เบ”เบเบšเปเปˆเบกเบตเบ•เบปเบงเปเบšเบšเบ•เบปเป‰เบ™เบ•เปเบ—เบตเปˆเบชเบทเบšเบ—เบญเบ”. เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบฅเบงเบกเบกเบต ArangoDB, OrientDB (เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบ›เบต 2018 เบšเปเบฅเบดเบชเบฑเบ”เบžเบฑเบ”เบ—เบฐเบ™เบฒเบ‚เบถเป‰เบ™เบเบฑเบš SAP) เปเบฅเบฐ CosmosDB (เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡ Microsoft Azure cloud platform).

เปƒเบ™เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เบˆเบดเบ‡, เบกเบตเบฎเบนเบšเปเบšเบš "เบซเบผเบฑเบ" เปƒเบ™ ArangoDB เปเบฅเบฐ OrientDB. เปƒเบ™เบ—เบฑเบ‡เบชเบญเบ‡เบเปเบฅเบฐเบ™เบต, เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบ•เบปเบงเปเบšเบšเบ‚เปเป‰เบกเบนเบ™เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡, เป€เบŠเบดเปˆเบ‡เปเบกเปˆเบ™เบ—เบปเปˆเบงเป„เบ›เบ‚เบญเบ‡เป€เบญเบเบฐเบชเบฒเบ™เบซเบ™เบถเปˆเบ‡. Generalizations เบชเปˆเบงเบ™เปƒเบซเบเปˆเปเบกเปˆเบ™เป€เบžเบทเปˆเบญเบญเปเบฒเบ™เบงเบเบ„เบงเบฒเบกเบชเบฐเบ”เบงเบเปƒเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ‚เบญเบ‡เป€เบชเบฑเป‰เบ™เบชเบฐเปเบ”เบ‡เปเบฅเบฐเบฅเบฑเบเบชเบฐเบ™เบฐเบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™.

เบฎเบนเบšเปเบšเบšเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบ•เบปเบงเบ”เบฝเบงเบ—เบตเปˆเบกเบตเบขเบนเปˆเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เปƒเบ™ DBMS เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰; เบžเบฒเบชเบฒเปเบšเบšเบชเบญเบšเบ–เบฒเบกเบ‚เบญเบ‡เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเป€เบญเบ‡เบ–เบทเบเบญเบญเบเปเบšเบšเบกเบฒเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบงเบฝเบเบเบฑเบšเบžเบงเบเป€เบ‚เบปเบฒ. เปเบ™เปˆเบ™เบญเบ™, เปเบšเบšเบˆเปเบฒเบฅเบญเบ‡เปเบฅเบฐ DBMSs เบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบกเบตเปเบ™เบงเป‚เบ™เป‰เบก, เปเบ•เปˆเบเบฒเบ™เบ‚เบฒเบ”เบ„เบงเบฒเบกเป€เบ‚เบปเป‰เบฒเบเบฑเบ™เป„เบ”เป‰เบเบฑเบšเปเบšเบšเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เปเบฅเบฐเบžเบฒเบชเบฒเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเปƒเบŠเป‰ DBMSs เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปƒเบ™เบฅเบฐเบšเบปเบšเบกเปเบฅเบฐเบ”เบปเบ - เป€เบžเบทเปˆเบญเบ—เบปเบ”เปเบ—เบ™ DBMSs เบ—เบตเปˆเบ™เปเบฒเปƒเบŠเป‰เปเบฅเป‰เบงเบขเบนเปˆเบ—เบตเปˆเบ™เบฑเป‰เบ™.

เบกเบตเบšเบปเบ”เบ„เบงเบฒเบกเบ—เบตเปˆเบเบญเบ”เบขเป‰เบฝเบกเบเปˆเบฝเบงเบเบฑเบš ArangoDB เปเบฅเบฐ OrientDB เบขเบนเปˆ Habre: เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ NoSQL.

ArangoDB

ArangoDB เบญเป‰เบฒเบ‡เบงเปˆเบฒเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบฎเบนเบšเปเบšเบšเบ‚เปเป‰เบกเบนเบ™เบเบฒเบŸ.

เบ‚เปเป‰เบ‚เบญเบ‡เบเบฒเบŸเปƒเบ™ ArangoDB เปเบกเปˆเบ™เป€เบญเบเบฐเบชเบฒเบ™เบ—เบปเปˆเบงเป„เบ›, เปเบฅเบฐเบ‚เบญเบšเปเบกเปˆเบ™เป€เบญเบเบฐเบชเบฒเบ™เบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เบžเบดเป€เบชเบ”เบ—เบตเปˆ, เบžเป‰เบญเบกเบเบฑเบšเบฅเบฐเบšเบปเบšเบ›เบปเบเบเบฐเบ•เบด, เบกเบต (_key, _id, _rev) เบ‚เบปเบ‡เป€เบ‚เบ”เบฅเบฐเบšเบปเบš _from ะธ _to. เป€เบญเบเบฐเบชเบฒเบ™เปƒเบ™เป€เบญเบเบฐเบชเบฒเบ™ DBMSs เปเบกเปˆเบ™เบ–เบทเบเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเป€เบ›เบฑเบ™เบเบฒเบ™เป€เบเบฑเบšเบเปเบฒ. เบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเป€เบญเบเบฐเบชเบฒเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบ‚เบญเบ‡เบ‚เบญเบšเปเบกเปˆเบ™เป€เบญเบตเป‰เบ™เบงเปˆเบฒเบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเบ‚เบญเบšเปƒเบ™ ArangoDB. เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, เป€เบญเบเบฐเบชเบฒเบ™เบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเปเบ‚เบšเบเบฑเบ‡เป€เบ›เบฑเบ™เป€เบญเบเบฐเบชเบฒเบ™, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบ‚เบญเบšเปƒเบ™ ArangoDB เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เบซเบ™เป‰เบฒเบ—เบตเปˆเป€เบ›เบฑเบ™เบ‚เปเป‰เป„เบ”เป‰.

เบ‚เปเป‰เบกเบนเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™

เปƒเบซเป‰เบžเบงเบเป€เบฎเบปเบฒเบกเบตเบเบฒเบ™เป€เบเบฑเบšเบเปเบฒ persons, เป€เบญเบเบฐเบชเบฒเบ™เบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเบ”เบฑเปˆเบ‡เบ™เบตเป‰:

[
  {
    "_id"  : "people/alice" ,
    "_key" : "alice" ,
    "name" : "ะะปะธัะฐ"
  },
  {
    "_id"  : "people/bob" ,
    "_key" : "bob" ,
    "name" : "ะ‘ะพะฑ"  
  }
]

เปƒเบซเป‰เบกเบตเบเบฒเบ™เป€เบเบฑเบš cafes:

[
  {
    "_id" : "cafes/jd" ,
    "_key" : "jd" ,
    "name" : "ะ”ะถะพะฝ ะ”ะพะฝะฝ"  
  },
  {
    "_id" : "cafes/jj" ,
    "_key" : "jj" ,
    "name" : "ะ–ะฐะฝ-ะ–ะฐะบ"
  }
]

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบเบฒเบ™เป€เบเบฑเบšเบเปเบฒ likes เบญเบฒเบ”เบˆเบฐเป€เบšเบดเปˆเบ‡เบ„เบทเปเบ™เบงเบ™เบตเป‰:

[
  {
    "_id" : "likes/1" ,
    "_key" : "1" ,
    "_from" : "persons/alice" ,
    "_to" : "cafes/jd",
    "since" : 2010 
  },
  {
    "_id" : "likes/2" ,
    "_key" : "2" ,
    "_from" : "persons/alice" ,
    "_to" : "cafes/jj",
    "since" : 2011 
  } ,
  {
    "_id" : "likes/3" ,
    "_key" : "3" ,
    "_from" : "persons/bob" ,
    "_to" : "cafes/jd",
    "since" : 2012 
  }
]

เบ„เปเบฒเบ–เบฒเบกเปเบฅเบฐเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš

เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเปเบšเบšเบเบฃเบฒเบŸเปƒเบ™เบžเบฒเบชเบฒ AQL เบ—เบตเปˆเปƒเบŠเป‰เปƒเบ™ ArangoDB, เบเบฑเบšเบ„เบทเบ™เบกเบฒเปƒเบ™เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบกเบฐเบ™เบธเบ”เบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เป„เบ”เป‰เบเปˆเบฝเบงเบเบฑเบšเบœเบนเป‰เบ—เบตเปˆเบกเบฑเบเบ„เบฒเป€เบŸเปˆเปƒเบ”, เบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเบ™เบตเป‰:

FOR p IN persons
  FOR c IN OUTBOUND p likes
  RETURN { person : p.name , likes : c.name }

เปƒเบ™เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบžเบปเบงเบžเบฑเบ™, เบšเปˆเบญเบ™เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบเปเบฒเบฅเบฑเบ‡ "เบ„เบญเบกเบžเบดเบงเป€เบ•เบตเป‰" เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบžเบงเบเบกเบฑเบ™, เบ„เปเบฒเบ–เบฒเบกเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ‚เบฝเบ™เบ„เบทเบ™เปƒเบซเบกเปˆเป€เบŠเบฑเปˆเบ™เบ™เบตเป‰ (เป‚เบ”เบเบงเบดเบ—เบตเบ—เบฒเบ‡เบเบฒเบ™, เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เป€เบเบฑเบšเบเปเบฒเบ‚เปเป‰เบกเบนเบ™. likes เบชเบฒโ€‹เบกเบฒเบ”โ€‹เป€เบฎเบฑเบ”โ€‹เป„เบ”เป‰โ€‹เป‚เบ”เบโ€‹เบšเปเปˆโ€‹เบกเบตโ€‹เบเบฒเบ™โ€‹)โ€‹:

FOR p IN persons
  FOR l IN likes
  FILTER p._key == l._from
    FOR c IN cafes
    FILTER l._to == c._key
    RETURN { person : p.name , likes : c.name }

เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเปƒเบ™เบ—เบฑเบ‡เบชเบญเบ‡เบเปเบฅเบฐเบ™เบตเบˆเบฐเบ„เบทเบเบฑเบ™:

[
  { "person" : "ะะปะธัะฐ" , likes : "ะ–ะฐะฝ-ะ–ะฐะบ" } ,
  { "person" : "ะะปะธัะฐ" , likes : "ะ”ะถะพะฝ ะ”ะพะฝะฝ" } ,
  { "person" : "ะ‘ะพะฑ" , likes : "ะ”ะถะพะฝ ะ”ะพะฝะฝ" }
]

เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเป€เบžเบตเปˆเบกเป€เบ•เบตเบก เปเบฅเบฐเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš

เบ–เป‰เบฒเบฎเบนเบšเปเบšเบšเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ›เบปเบเบเบฐเบ•เบดเบชเปเบฒเบฅเบฑเบš DBMS เบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเปˆเบงเบฒเบชเปเบฒเบฅเบฑเบšเป€เบญเบเบฐเบชเบฒเบ™ DBMS, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฅเบญเบ‡เปเบšเบšเบชเบญเบšเบ–เบฒเบกเบ™เบตเป‰ (เบซเบผเบทเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰. COLLECT):

FOR p IN persons
  RETURN {
    person : p.name,
    likes : (
      FOR c IN OUTBOUND p likes
      RETURN c.name
    )
}

เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบˆเบฐเบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเบ™เบตเป‰:

[
  { "person" : "ะะปะธัะฐ" , likes : ["ะ–ะฐะฝ-ะ–ะฐะบ" , "ะ”ะถะพะฝ ะ”ะพะฝะฝ"]  } ,
  { "person" : "ะ‘ะพะฑ" , likes : ["ะ”ะถะพะฝ ะ”ะพะฝะฝ"] }
]

OrientDB

เบžเบทเป‰เบ™เบ–เบฒเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบฎเบนเบšเปเบšเบšเบเบฒเบŸเบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบฎเบนเบšเปเบšเบšเป€เบญเบเบฐเบชเบฒเบ™เปƒเบ™ OrientDB เปเบกเปˆเบ™ เป‚เบญเบเบฒเบ” เบŠเปˆเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เป€เบญเบเบฐเบชเบฒเบ™, เบ™เบญเบเป€เบซเบ™เบทเบญเบˆเบฒเบเบ„เปˆเบฒเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™เบซเบผเบฒเบเบซเบผเบทเบซเบ™เป‰เบญเบ, เบเบฑเบ‡เบกเบตเบ„เปˆเบฒเบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เป€เบŠเบฑเปˆเบ™: LINK, LINKLIST, LINKSET, LINKMAP ะธ LINKBAG. เบ„เบธเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เปเบกเปˆเบ™เบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบซเบผเบทเบเบฒเบ™เบฅเบงเบšเบฅเบงเบกเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบเบฑเบš เบ•เบปเบงเบฅเบฐเบšเบธเบฅเบฐเบšเบปเบš เป€เบญเบเบฐเบชเบฒเบ™.

เบ•เบปเบงเบฅเบฐเบšเบธเป€เบญเบเบฐเบชเบฒเบ™เบ—เบตเปˆเบ–เบทเบเบกเบญเบšเปƒเบซเป‰เป‚เบ”เบเบฅเบฐเบšเบปเบšเบกเบต "เบ„เบงเบฒเบกเบซเบกเบฒเบเบ—เบฒเบ‡เบ”เป‰เบฒเบ™เบฎเปˆเบฒเบ‡เบเบฒเบ", เบŠเบตเป‰เบšเบญเบเบ•เปเบฒเปเบซเบ™เปˆเบ‡เบ‚เบญเบ‡เบšเบฑเบ™เบ—เบถเบเปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™, เปเบฅเบฐเบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเบ„เป‰เบฒเบเบ„เบทเบ™เบตเป‰: @rid : #3:16. เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบ„เบธเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบดเบ‡เปเบกเปˆเบ™เบ•เบปเบงเบŠเบตเป‰เปเบ—เป‰เป† (เป€เบŠเบฑเปˆเบ™เปƒเบ™เบ•เบปเบงเปเบšเบšเบเบฒเบŸ) เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบเบฒเบ™เบ„เบฑเบ”เป€เบฅเบทเบญเบ (เปƒเบ™เบ•เบปเบงเปเบšเบšเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡).

เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบš ArangoDB, เบ‚เบญเบšเปƒเบ™ OrientDB เปเบกเปˆเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เป€เบ›เบฑเบ™เป€เบญเบเบฐเบชเบฒเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ (เป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเบ–เป‰เบฒเบ‚เบญเบšเบšเปเปˆเบกเบตเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡, เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰. เบ™เป‰เบณเปœเบฑเบเป€เบšเบปเบฒ, เปเบฅเบฐเบกเบฑเบ™เบˆเบฐเบšเปเปˆเบเบปเบ‡เบเบฑเบ™เบเบฑเบšเป€เบญเบเบฐเบชเบฒเบ™เปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ).

เบ‚เปเป‰เบกเบนเบ™เป€เบšเบทเป‰เบญเบ‡เบ•เบปเป‰เบ™

เปƒเบ™เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเปƒเบเป‰เบ„เบฝเบ‡ เบฎเบนเบšเปเบšเบšเบเบฒเบ™เบ–เบดเป‰เบกเบ‚เบตเป‰เป€เบซเบเบทเป‰เบญ เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ OrientDB, เบ‚เปเป‰เบกเบนเบ™เบˆเบฒเบเบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒเบชเปเบฒเบฅเบฑเบš ArangoDB เบˆเบฐเบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเป€เบŠเบฑเปˆเบ™เบ™เบตเป‰:

[
     {
      "@type": "document",
      "@rid": "#11:0",
      "@class": "Person",
      "name": "ะะปะธัะฐ",
      "out_likes": [
        "#30:1",
        "#30:2"
      ],
      "@fieldTypes": "out_likes=LINKBAG"
    },
    {
      "@type": "document",
      "@rid": "#12:0",
      "@class": "Person",
      "name": "ะ‘ะพะฑ",
      "out_likes": [
        "#30:3"
      ],
      "@fieldTypes": "out_likes=LINKBAG"
    },
    {
      "@type": "document",
      "@rid": "#21:0",
      "@class": "Cafe",
      "name": "ะ–ะฐะฝ-ะ–ะฐะบ",
      "in_likes": [
        "#30:2",
        "#30:3"
      ],
      "@fieldTypes": "in_likes=LINKBAG"
    },
    {
      "@type": "document",
      "@rid": "#22:0",
      "@class": "Cafe",
      "name": "ะ”ะถะพะฝ ะ”ะพะฝะฝ",
      "in_likes": [
        "#30:1"
      ],
      "@fieldTypes": "in_likes=LINKBAG"
    },
    {
      "@type": "document",
      "@rid": "#30:1",
      "@class": "likes",
      "in": "#22:0",
      "out": "#11:0",
      "since": 1262286000000,
      "@fieldTypes": "in=LINK,out=LINK,since=date"
    },
    {
      "@type": "document",
      "@rid": "#30:2",
      "@class": "likes",
      "in": "#21:0",
      "out": "#11:0",
      "since": 1293822000000,
      "@fieldTypes": "in=LINK,out=LINK,since=date"
    },
    {
      "@type": "document",
      "@rid": "#30:3",
      "@class": "likes",
      "in": "#21:0",
      "out": "#12:0",
      "since": 1325354400000,
      "@fieldTypes": "in=LINK,out=LINK,since=date"
    }
  ]

เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เป€เบซเบฑเบ™เป„เบ”เป‰, เปเบ™เบงเบ•เบฑเป‰เบ‡เบเบฑเบ‡เป€เบเบฑเบšเบ‚เปเป‰เบกเบนเบ™เบเปˆเบฝเบงเบเบฑเบšเบ‚เบญเบšเบ‚เบฒเป€เบ‚เบปเป‰เบฒเปเบฅเบฐเบ‚เบฒเบญเบญเบ. เบ—เบตเปˆ เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Document API เบ•เป‰เบญเบ‡เป„เบ”เป‰เบ•เบดเบ”เบ•เบฒเบกเบ„เบงเบฒเบกเบชเบปเบกเบšเบนเบ™เบ‚เบญเบ‡เบเบฒเบ™เบญเป‰เบฒเบ‡เบญเบดเบ‡เบ•เบปเบงเบกเบฑเบ™เป€เบญเบ‡, เปเบฅเบฐ Graph API เบˆเบฐเป€เบฎเบฑเบ”เบงเบฝเบเบ™เบตเป‰. เปเบ•เปˆเปƒเบซเป‰เป€เบšเบดเปˆเบ‡เบงเปˆเบฒเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡ OrientDB เบกเบตเบฅเบฑเบเบชเบฐเบ™เบฐเปเบ™เบงเปƒเบ”เปƒเบ™เบžเบฒเบชเบฒเปเบšเบšเบชเบญเบšเบ–เบฒเบก "เบšเปเบฅเบดเบชเบธเบ”" เบ—เบตเปˆเบšเปเปˆเป„เบ”เป‰เบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เป€เบ‚เบปเป‰เบฒเปƒเบ™เบžเบฒเบชเบฒเบเบฒเบ™เบ‚เบฝเบ™เป‚เบ›เบผเปเบเบผเบก.

เบ„เปเบฒเบ–เบฒเบกเปเบฅเบฐเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš

เบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบทเบเบฑเบ™เบเบฑเบšเบˆเบธเบ”เบ›เบฐเบชเบปเบ‡เบ‚เบญเบ‡เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบˆเบฒเบเบ•เบปเบงเบขเปˆเบฒเบ‡เบชเปเบฒเบฅเบฑเบš ArangoDB เปƒเบ™ OrientDB เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒเบ™เบตเป‰:

SELECT name AS person_name, OUT('likes').name AS cafe_name
   FROM Person
   UNWIND cafe_name

เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเปƒเบ™เบฎเบนเบšเปเบšเบšเบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

[
  { "person_name": "ะะปะธัะฐ", "cafe_name": "ะ”ะถะพะฝ ะ”ะพะฝะฝ" },
  { "person_name": "ะะปะธัะฐ", "cafe_name": "ะ–ะฐะฝ-ะ–ะฐะบ" },
  { "person_name": "ะ‘ะพะฑ",  "cafe_name": "ะ–ะฐะฝ-ะ–ะฐะบ" }
]

เบ–เป‰เบฒเบฎเบนเบšเปเบšเบšเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบญเบตเบเป€เบ—เบทเปˆเบญเบซเบ™เบถเปˆเบ‡เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒ "เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™", เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบญเบปเบฒเป€เบชเบฑเป‰เบ™เบญเบญเบ UNWIND():

[
  { "person_name": "ะะปะธัะฐ", "cafe_name": [ "ะ”ะถะพะฝ ะ”ะพะฝะฝ", "ะ–ะฐะฝ-ะ–ะฐะบ" ] },
  { "person_name": "ะ‘ะพะฑ",  "cafe_name": [ "ะ–ะฐะฝ-ะ–ะฐะบ" ' }
]

เบžเบฒเบชเบฒเบชเบญเบšเบ–เบฒเบกเบ‚เบญเบ‡ OrientDB เบชเบฒเบกเบฒเบ”เบ–เบทเบเบญเบฐเบ—เบดเบšเบฒเบเป€เบ›เบฑเบ™ SQL เบ”เป‰เบงเบเบเบฒเบ™เปƒเบชเปˆเปเบšเบš Gremlin. เปƒเบ™เป€เบงเบตเบŠเบฑเบ™ 2.2, เปเบšเบšเบŸเบญเบกเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ—เบตเปˆเบ„เป‰เบฒเบเบ„เบท Cypher เบ›เบฒเบเบปเบ”เบ‚เบถเป‰เบ™, MATCH :

MATCH {CLASS: Person, AS: person}-likes->{CLASS: Cafe, AS: cafe}
RETURN person.name AS person_name, LIST(cafe.name) AS cafe_name
GROUP BY person_name

เบฎเบนเบšเปเบšเบšเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบˆเบฐเบ„เบทเบเบฑเบ™เบเบฑเบšเบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ. เบ„เบดเบ”เบเปˆเบฝเบงเบเบฑเบšเบชเบดเปˆเบ‡เบ—เบตเปˆเบ•เป‰เบญเบ‡เบ–เบทเบเป‚เบเบเบเป‰เบฒเบเบญเบญเบเป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบกเบฑเบ™ "เบกเบตเบ„เบงเบฒเบกเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡", เบ„เบทเบเบฑเบšเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ—เปเบฒเบญเบดเบ”.

Azure CosmosDB

เปƒเบ™เบ‚เบญเบšเป€เบ‚เบ”เบซเบ™เป‰เบญเบ, เบชเบดเปˆเบ‡เบ—เบตเปˆเป„เบ”เป‰เบเปˆเบฒเบงเบกเบฒเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เบเปˆเบฝเบงเบเบฑเบš ArangoDB เปเบฅเบฐ OrientDB เปƒเบŠเป‰เบเบฑเบš Azure CosmosDB. CosmosDB เปƒเบซเป‰ APIs เบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ‚เปเป‰เบกเบนเบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰: SQL, MongoDB, Gremlin เปเบฅเบฐ Cassandra.

SQL API เปเบฅเบฐ MongoDB API เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบฎเบนเบšเปเบšเบšเป€เบญเบเบฐเบชเบฒเบ™. Gremlin API เปเบฅเบฐ Cassandra API - เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบฎเบนเบšเปเบšเบšเบเบฒเบŸเปเบฅเบฐเบ„เปเบฅเปเบฒ, เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš. เบ‚เปเป‰โ€‹เบกเบนเบ™โ€‹เปƒเบ™โ€‹เบ•เบปเบงโ€‹เปเบšเบšโ€‹เบ—เบฑเบ‡โ€‹เบซเบกเบปเบ”โ€‹เปเบกเปˆเบ™โ€‹เป„เบ”เป‰โ€‹เบ–เบทเบโ€‹เบšเบฑเบ™โ€‹เบ—เบถเบโ€‹เป„เบงเป‰โ€‹เปƒเบ™โ€‹เบฎเบนเบšโ€‹เปเบšเบš CosmosDB เบžเบฒเบโ€‹เปƒเบ™โ€‹: ARS (โ€œเบญเบฒเบ•เบญเบก-เบšเบฑเบ™เบ—เบถเบ-เบฅเบณเบ”เบฑเบšโ€), เป€เบŠเบดเปˆเบ‡เปƒเบเป‰เบเบฑเบšเป€เบญเบเบฐเบชเบฒเบ™เปœเบถเปˆเบ‡.

DBMSs เบซเบผเบฒเบเปเบšเบšเป€เบ›เบฑเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ‚เปเป‰เบกเบนเบ™เบ‚เปˆเบฒเบงเบชเบฒเบ™เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบšเป?

เปเบ•เปˆเบฎเบนเบšเปเบšเบšเบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป€เบฅเบทเบญเบเป‚เบ”เบเบœเบนเป‰เปƒเบŠเป‰เปเบฅเบฐ API เบ—เบตเปˆเปƒเบŠเป‰เป„เบ”เป‰เบ–เบทเบเปเบเป‰เป„เบ‚เปƒเบ™เป€เบงเบฅเบฒเบ—เบตเปˆเบชเป‰เบฒเบ‡เบšเบฑเบ™เบŠเบตเปƒเบ™เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™. เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเป€เบ–เบดเบ‡เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเป‚เบซเบฅเบ”เบขเบนเปˆเปƒเบ™เบฎเบนเบšเปเบšเบšเบซเบ™เบถเปˆเบ‡เปƒเบ™เบฎเบนเบšเปเบšเบšเบ‚เบญเบ‡เบ•เบปเบงเปเบšเบšเบญเบทเปˆเบ™, เบ”เบฑเปˆเบ‡เบ—เบตเปˆเบชเบฐเปเบ”เบ‡เป‚เบ”เบเบšเบฒเบ‡เบชเบดเปˆเบ‡เบšเบฒเบ‡เบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™เบ™เบตเป‰:

DBMSs เบซเบผเบฒเบเปเบšเบšเป€เบ›เบฑเบ™เบžเบทเป‰เบ™เบ–เบฒเบ™เบ‚เบญเบ‡เบฅเบฐเบšเบปเบšเบ‚เปเป‰เบกเบนเบ™เบ‚เปˆเบฒเบงเบชเบฒเบ™เบ—เบตเปˆเบ—เบฑเบ™เบชเบฐเป„เบซเบกเบšเป?

เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™, เบซเบผเบฒเบเปเบšเบšเปƒเบ™ Azure CosmosDB เปƒเบ™เบกเบทเป‰เบ™เบตเป‰เปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบˆเปเบฒเบ™เบงเบ™เบซเบ™เบถเปˆเบ‡เบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™เบˆเบฒเบเบœเบนเป‰เบœเบฐเบฅเบดเบ”เบซเบ™เบถเปˆเบ‡, เป€เบŠเบดเปˆเบ‡เบšเปเปˆเป„เบ”เป‰เปเบเป‰เป„เบ‚เบšเบฑเบ™เบซเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบซเบผเบฒเบเบ•เบปเบงเปเบ›.

DBMS เบซเบผเบฒเบเบฎเบนเบšเปเบšเบšเป‚เบ”เบเบญเบตเบ‡เปƒเบชเปˆเบฎเบนเบšเปเบšเบšเบเบฒเบŸ?

เบชเบดเปˆเบ‡เบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบฑเบ‡เป€เบเบ”เปเบกเปˆเบ™เบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบšเปเปˆเบกเบต DBMSs เบซเบผเบฒเบเปเบšเบšเบขเบนเปˆเปƒเบ™เบ•เบฐเบซเบผเบฒเบ”เปเบกเปˆเบ™เบญเบตเบ‡เปƒเบชเปˆเบฎเบนเบšเปเบšเบšเบเบฒเบŸ (เบเบปเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบซเบผเบฒเบเปเบšเบšเบชเปเบฒเบฅเบฑเบšเบชเบญเบ‡เบฎเบนเบšเปเบšเบšเบเบฒเบŸเบžเป‰เบญเบกเป†เบเบฑเบ™: RDF เปเบฅเบฐ LPG; เป€เบšเบดเปˆเบ‡เบ™เบตเป‰เปƒเบ™. เบเบฒเบ™เบžเบดเบกเป€เบœเบตเบเปเบœเปˆเบ—เบตเปˆเบœเปˆเบฒเบ™เบกเบฒ). เบ„เบงเบฒเบกเบซเบเบธเป‰เบ‡เบเบฒเบเบ—เบตเปˆเบชเบธเบ”เปเบกเปˆเบ™เป€เบเบตเบ”เบกเบฒเบˆเบฒเบเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเปเบšเบšเป€เบญเบเบฐเบชเบฒเบ™เบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบฎเบนเบšเปเบšเบšเบเบฒเบŸ, เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™เบ•เบปเบงเปเบšเบšเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡.

เบ„เปเบฒเบ–เบฒเบกเบเปˆเบฝเบงเบเบฑเบšเบงเบดเบ—เบตเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเปเบšเบšเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบ•เบปเบงเปเบšเบšเบเบฒเบŸเป„เบ”เป‰เบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเป€เบ–เบดเบ‡เปเบกเปˆเบ™เบงเปˆเบฒเปƒเบ™เบฅเบฐเบซเบงเปˆเบฒเบ‡เบเบฒเบ™เบชเป‰เบฒเบ‡เบ•เบปเบงเปเบšเบšเบชเบธเบ”เบ—เป‰เบฒเบ. เปเบ™เบงเปƒเบ” เป€เบงเบปเป‰เบฒเบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™ David McGovern:

เบšเปเปˆเบกเบตเบซเบเบฑเบ‡เบ›เบฐเบเบปเบ”เบ‚เบถเป‰เบ™เปƒเบ™เบงเบดเบ—เบตเบเบฒเบ™เบ‚เบญเบ‡เบเบฒเบŸเบ—เบตเปˆเบ›เป‰เบญเบ‡เบเบฑเบ™เบเบฒเบ™เบชเป‰เบฒเบ‡เบŠเบฑเป‰เบ™ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เป‚เบ”เบเบเบฒเบ™เบ”เบฑเบ”เบชเบฐเบ™เบตเบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบก) เปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบเบฒเบŸเบ—เบตเปˆเบŠเปˆเบงเบเปƒเบซเป‰เบเบฒเบ™เป€เบšเบดเปˆเบ‡เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบเบฑเบš (1) เบเบฒเบ™เบŸเบทเป‰เบ™เบ•เบปเบงเบ‚เบญเบ‡ tuples เบˆเบฒเบเบ„เบนเปˆเบกเบนเบ™เบ„เปˆเบฒเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เบ›เบปเบเบเบฐเบ•เบดเปเบฅเบฐ (2) เบเบฒเบ™เบˆเบฑเบ”เบเบธเปˆเบกเบ‚เบญเบ‡ tuples เบ•เบฒเบกเบ›เบฐเป€เบžเบ”เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™.

เป€เบกเบทเปˆเบญเบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเปเบšเบšเป€เบญเบเบฐเบชเบฒเบ™เบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบฎเบนเบšเปเบšเบšเบเบฒเบŸ, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบˆเบทเปˆเป„เบงเป‰, เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

  • เบญเบปเบ‡เบ›เบฐเบเบญเบšเบ‚เบญเบ‡เบญเบฒเป€เบฃ JSON เบ–เบทเบเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเป€เบ›เบฑเบ™เบฅเปเบฒเบ”เบฑเบš, เปเบ•เปˆเบชเบดเปˆเบ‡เบ—เบตเปˆเบญเบญเบเบกเบฒเบˆเบฒเบเบˆเบธเบ”เบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบ‚เบญเบšเบ‚เบญเบ‡เบเบฃเบฒเบšเบšเปเปˆเปเบกเปˆเบ™;
  • เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบ•เบปเบงเปเบšเบšเป€เบญเบเบฐเบชเบฒเบ™เปเบกเปˆเบ™เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบ–เบทเบเป€เบฎเบฑเบ”เปƒเบซเป‰เบœเบดเบ”เบ›เบปเบเบเบฐเบ•เบด; เบ—เปˆเบฒเบ™เบเบฑเบ‡เบšเปเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ—เบตเปˆเบˆเบฐเป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบชเปเบฒเป€เบ™เบปเบฒเบซเบผเบฒเบเบชเบฐเบšเบฑเบšเบ‚เบญเบ‡เป€เบญเบเบฐเบชเบฒเบ™เบ—เบตเปˆเบเบฑเบ‡เบ”เบฝเบงเบเบฑเบ™, เปเบฅเบฐเป€เบญเบเบฐเบชเบฒเบ™เบเปˆเบญเบเบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเบšเปเปˆเบกเบตเบ•เบปเบงเบฅเบฐเบšเบธ;
  • เปƒเบ™เบ—เบฒเบ‡เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบก, เบญเบธเบ”เบปเบกเบเบฒเบ™เบ‚เบญเบ‡เป€เบญเบเบฐเบชเบฒเบ™ DBMSs เปเบกเปˆเบ™เบงเปˆเบฒเป€เบญเบเบฐเบชเบฒเบ™เปเบกเปˆเบ™ "เบเบฒเบ™เบฅเบงเบšเบฅเบงเบก" เบ—เบตเปˆเบเบฝเบกเบžเป‰เบญเบกเบ—เบตเปˆเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบชเป‰เบฒเบ‡เปƒเบซเบกเปˆเปƒเบ™เปเบ•เปˆเบฅเบฐเบ„เบฑเป‰เบ‡. เบกเบฑเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เปƒเบซเป‰เบ•เบปเบงเปเบšเบšเบเบฒเบŸเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เปƒเบ™เบเบฒเบ™เป„เบ”เป‰เบฎเบฑเบšเป€เบชเบฑเป‰เบ™เบเปˆเบญเบเบ—เบตเปˆเบชเบญเบ”เบ„เปˆเบญเบ‡เบเบฑเบšเป€เบญเบเบฐเบชเบฒเบ™เบชเปเบฒเป€เบฅเบฑเบ”เบฎเบนเบšเบขเปˆเบฒเบ‡เป„เบงเบงเบฒ.

เบเบฒเบ™เป‚เบ„เบชเบฐเบ™เบฒเป€เบฅเบฑเบเบ™เป‰เบญเบ

เบœเบนเป‰เบ‚เบฝเบ™เบ‚เบญเบ‡เบšเบปเบ”เบ„เบงเบฒเบกเปเบกเปˆเบ™เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบžเบฑเบ”เบ—เบฐเบ™เบฒ NitrosBase DBMS, เบฎเบนเบšเปเบšเบšเบžเบฒเบเปƒเบ™เบ—เบตเปˆเป€เบ›เบฑเบ™เบเบฒเบŸ, เปเบฅเบฐเบ•เบปเบงเปเบšเบšเบžเบฒเบเบ™เบญเบ - เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เปเบฅเบฐเป€เบญเบเบฐเบชเบฒเบ™ - เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบ‚เบญเบ‡เบกเบฑเบ™. เบฎเบนเบšเปเบšเบšเบ—เบฑเบ‡เบซเบกเบปเบ”เปเบกเปˆเบ™เป€เบ—เบปเปˆเบฒเบ—เบฝเบกเบเบฑเบ™: เป€เบเบทเบญเบšเบ—เบธเบเบ‚เปเป‰เบกเบนเบ™เปเบกเปˆเบ™เบกเบตเบขเบนเปˆเปƒเบ™เบ—เบธเบเบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒเป‚เบ”เบเปƒเบŠเป‰เบžเบฒเบชเบฒเปเบšเบšเบชเบญเบšเบ–เบฒเบกเบ—เบตเปˆเป€เบ›เบฑเบ™เบ—เปเบฒเบกเบฐเบŠเบฒเบ”. เบเบดเปˆเบ‡เป„เบ›เบเบงเปˆเบฒเบ™เบฑเป‰เบ™, เปƒเบ™เบ—เบฑเบ”เบชเบฐเบ™เบฐเปƒเบ”เบเปเปˆเบ•เบฒเบก, เบ‚เปเป‰เบกเบนเบ™เบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เปเบ›เบ‡เป„เบ”เป‰. เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบˆเบฐเบชเบฐเบ—เป‰เบญเบ™เปƒเบซเป‰เป€เบซเบฑเบ™เปƒเบ™เบฎเบนเบšเปเบšเบšเบžเบฒเบเปƒเบ™เปเบฅเบฐ, เบ•เบฒเบกเบ„เบงเบฒเบกเป€เบซเบกเบฒเบฐเบชเบปเบก, เปƒเบ™เบ—เบฑเบ”เบชเบฐเบ™เบฐเบญเบทเปˆเบ™เป†.

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบซเบงเบฑเบ‡เบงเปˆเบฒเบˆเบฐเบญเบฐเบ—เบดเบšเบฒเบเบเบฒเบ™เบˆเบฑเบšเบ„เบนเปˆเปเบšเบšเบˆเปเบฒเบฅเบญเบ‡เปเบšเบšเปƒเบ”เปƒเบ™ NitrosBase เปƒเบ™เบซเบ™เบถเปˆเบ‡เปƒเบ™เบšเบปเบ”เบ„เบงเบฒเบกเบ•เปเปˆเป„เบ›เบ™เบตเป‰.

เบชเบฐเบซเบฅเบธเบš

เบ‚เป‰เบฒโ€‹เบžเบฐโ€‹เป€เบˆเบปเป‰เบฒโ€‹เบซเบงเบฑเบ‡โ€‹เบงเปˆเบฒโ€‹เป‚เบ„เบ‡โ€‹เบฎเปˆเบฒเบ‡โ€‹เบ—เบปเปˆเบงโ€‹เป„เบ›โ€‹เบ‚เบญเบ‡โ€‹เบชเบดเปˆเบ‡โ€‹เบ—เบตเปˆโ€‹เป€เบญเบตเป‰เบ™โ€‹เบงเปˆเบฒโ€‹เปเบšเบšโ€‹เบˆเปเบฒโ€‹เบฅเบญเบ‡โ€‹เบซเบผเบฒเบโ€‹เป„เบ”เป‰โ€‹เบเบฒเบโ€‹เป€เบ›เบฑเบ™โ€‹เบซเบผเบฒเบโ€‹เบซเบผเบทโ€‹เบซเบ™เป‰เบญเบโ€‹เบ—เบตเปˆโ€‹เบˆเบฐโ€‹เปเบˆเป‰เบ‡โ€‹เปƒเบซเป‰โ€‹เบœเบนเป‰โ€‹เบญเปˆเบฒเบ™. DBMSs เบซเบผเบฒเบเปเบšเบšเปเบกเปˆเบ™เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™, เปเบฅเบฐ "เบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบซเบผเบฒเบเปเบšเบš" เบชเบฒเบกเบฒเบ”เป€เบšเบดเปˆเบ‡เปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™. เป€เบžเบทเปˆเบญเป€เบ‚เบปเป‰เบฒเปƒเบˆเบชเบดเปˆเบ‡เบ—เบตเปˆเป€เบญเบตเป‰เบ™เบงเปˆเบฒ "เบซเบผเบฒเบเปเบšเบš" เปƒเบ™เปเบ•เปˆเบฅเบฐเบเปเบฅเบฐเบ™เบตเบชเบฐเป€เบžเบฒเบฐ, เบกเบฑเบ™เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ—เบตเปˆเบˆเบฐเบ•เบญเบšเบ„เปเบฒเบ–เบฒเบกเบ•เปเปˆเป„เบ›เบ™เบตเป‰:

  1. เบžเบงเบเป€เบฎเบปเบฒเป€เบงเบปเป‰เบฒเบเปˆเบฝเบงเบเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบธเบ™เปเบšเบšเบ”เบฑเป‰เบ‡เป€เบ”เบตเบกเบซเบผเบทเบšเบฒเบ‡เบฎเบนเบšเปเบšเบš "เบ›เบฐเบชเบปเบก"?
  2. เปเบšเบšเบˆเปเบฒเบฅเบญเบ‡เปเบกเปˆเบ™ "เป€เบ—เบปเปˆเบฒเบ—เบฝเบกเบเบฑเบ™", เบซเบผเบทเบซเบ™เบถเปˆเบ‡เปƒเบ™เบ™เบฑเป‰เบ™เปเบกเปˆเบ™เบซเบปเบงเบ‚เปเป‰เบ‚เบญเบ‡เบ„เบปเบ™เบญเบทเปˆเบ™?
  3. เปเบšเบšเบˆเปเบฒเบฅเบญเบ‡ "indifferent" เบเบฑเบšเบเบฑเบ™เปเบฅเบฐเบเบฑเบ™? เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ–เบทเบเบ‚เบฝเบ™เป„เบงเป‰เปƒเบ™เบ•เบปเบงเปเบšเบšเบซเบ™เบถเปˆเบ‡เบชเบฒเบกเบฒเบ”เบญเปˆเบฒเบ™เปƒเบ™เปเบšเบšเบญเบทเปˆเบ™เบซเบผเบทเปเบกเป‰เบเบฐเบ—เบฑเป‰เบ‡เบ‚เบฝเบ™เบ—เบฑเบšเป„เบ”เป‰เบšเป?

เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเบ„เบดเบ”เบงเปˆเบฒเบ„เปเบฒเบ–เบฒเบกเบเปˆเบฝเบงเบเบฑเบšเบ„เบงเบฒเบกเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบ‚เบญเบ‡ DBMS เบซเบผเบฒเบเปเบšเบšเบชเบฒเบกเบฒเบ”เบ•เบญเบšเป„เบ”เป‰เปƒเบ™เบ—เบฒเบ‡เบšเบงเบ, เปเบ•เปˆเบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเบซเบ™เป‰เบฒเบชเบปเบ™เปƒเบˆเปเบกเปˆเบ™เบ›เบฐเป€เบžเบ”เปƒเบ”เบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบซเบผเบฒเบเปƒเบ™เบญเบฐเบ™เบฒเบ„เบปเบ”เบญเบฑเบ™เปƒเบเป‰เบ™เบตเป‰. เบกเบฑเบ™เป€เบšเบดเปˆเบ‡เบ„เบทเบงเปˆเบฒ DBMSs เบซเบผเบฒเบเปเบšเบšเบ—เบตเปˆเบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เปเบšเบšเบ”เบฑเป‰เบ‡เป€เบ”เบตเบก, เบ„เบงเบฒเบกเบชเปเบฒเบžเบฑเบ™เบ•เบปเป‰เบ™เบ•เป, เบˆเบฐเบกเบตเบ„เบงเบฒเบกเบ•เป‰เบญเบ‡เบเบฒเบ™เบซเบผเบฒเบเบเบงเปˆเบฒเป€เบเบปเปˆเบฒ; เบ„เบงเบฒเบกเบ™เบดเบเบปเบกเบ‚เบญเบ‡ DBMSs เบซเบผเบฒเบเบฎเบธเปˆเบ™, เบชเบฐเป€เบซเบ™เบตเบฎเบนเบšเปเบšเบšเปƒเบซเบกเปˆเบ—เบตเปˆเบ›เบฐเบชเบปเบกเบ›เบฐเบชเบฒเบ™เบ„เบงเบฒเบกเป„เบ”เป‰เบ›เบฝเบšเบ‚เบญเบ‡เปเบšเบšเบ”เบฑเป‰เบ‡เป€เบ”เบตเบกเบ•เปˆเบฒเบ‡เป†, เป€เบ›เบฑเบ™เป€เบฅเบทเปˆเบญเบ‡เบ‚เบญเบ‡เบญเบฐเบ™เบฒเบ„เบปเบ”เบ—เบตเปˆเบซเปˆเบฒเบ‡เป„เบเบซเบผเบฒเบ.

เบžเบฝเบ‡เปเบ•เปˆเบœเบนเป‰เปƒเบŠเป‰เบฅเบปเบ‡เบ—เบฐเบšเบฝเบ™เบชเบฒเบกเบฒเบ”เป€เบ‚เบปเป‰เบฒเบฎเปˆเบงเบกเปƒเบ™เบเบฒเบ™เบชเปเบฒเบซเบผเบงเบ”. เป€เบ‚เบปเป‰เบฒโ€‹เบชเบนเปˆโ€‹เบฅเบฐโ€‹เบšเบปเบšเบเบฐเบฅเบธเบ™เบฒ.

เป€เบˆเบปเป‰เบฒเปƒเบŠเป‰ DBMS เบซเบผเบฒเบเปเบšเบšเบšเป?

  • เบžเบงเบเป€เบฎเบปเบฒเบšเปเปˆเปƒเบŠเป‰เบกเบฑเบ™, เบžเบงเบเป€เบฎเบปเบฒเป€เบเบฑเบšเบ—เบธเบเบชเบดเปˆเบ‡เบ—เบธเบเบขเปˆเบฒเบ‡เบขเบนเปˆเปƒเบ™เบซเบ™เบถเปˆเบ‡ DBMS เปเบฅเบฐเปƒเบ™เบซเบ™เบถเปˆเบ‡เปเบšเบš

  • เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰เบ„เบงเบฒเบกเบชเบฒเบกเบฒเบ”เบซเบผเบฒเบเปเบšเบšเบ‚เบญเบ‡ DBMSs เปเบšเบšเบ”เบฑเป‰เบ‡เป€เบ”เบตเบก

  • เบžเบงเบเป€เบฎเบปเบฒเบ›เบฐเบ•เบดเบšเบฑเบ” polyglot เบ—เบปเบ™เบ™เบฒเบ™

  • เบžเบงเบเป€เบฎเบปเบฒเปƒเบŠเป‰ DBMS เบซเบผเบฒเบเปเบšเบšเปƒเปเปˆ (Arango, Orient, CosmosDB)

19 เบœเบนเป‰เปƒเบŠเป‰เบฅเบปเบ‡เบ„เบฐเปเบ™เบ™เบชเบฝเบ‡. 4 เบœเบนเป‰เปƒเบŠเป‰เบ‡เบปเบ”.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™