ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° Π‘Π£Π‘Π” immudb 1.0, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ искаТСния Π΄Π°Π½Π½Ρ‹Ρ…

ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ выпуск Π‘Π£Π‘Π” immudb 1.0, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΈ сохранСниС всСх ΠΊΠΎΠ³Π΄Π°-Π»ΠΈΠ±ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰Π΅ΠΉ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π·Π°Π΄Π½ΠΈΠΌ числом ΠΈ Π΄Π°ΡŽΡ‰Π΅ΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ криптографичСского Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° владСния Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π˜Π·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ развивался ΠΊΠ°ΠΊ спСциализированноС NoSQL-Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅, ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΡŽΡ‰Π΅Π΅ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ΠΊΠ»ΡŽΡ‡/Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½ΠΎ начиная с выпуска 1.0 immudb позиционируСтся ΠΊΠ°ΠΊ полноцСнная Π‘Π£Π‘Π” с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ SQL. Код ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° написан Π½Π° языкС Go ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0.

Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ Π² immudb хранится с использованиС Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½-ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠΉ структуры, Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ Ρ†Π΅Π»ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ всСй Ρ†Π΅ΠΏΠΎΡ‡ΠΊΠΈ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΡ…ΡΡ записСй ΠΈ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡƒΠΆΠ΅ сохранённыС Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡ‚ΡŒ/Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ запись Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ. Π₯Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…, Π±Π΅Π· возмоТности удалСния ΠΈΠ»ΠΈ измСнСния ΡƒΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ. ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° измСнСния записСй Π² Π‘Π£Π‘Π” лишь ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΡΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΡŽ Π½ΠΎΠ²ΠΎΠΉ вСрсии записи, старыС Π΄Π°Π½Π½Ρ‹Π΅ Π½Π΅ Ρ‚Π΅Ρ€ΡΡŽΡ‚ΡΡ ΠΈ ΠΎΡΡ‚Π°ΡŽΡ‚ΡΡ доступны Π² истории ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.

ΠŸΡ€ΠΈ этом Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π½Π° Π±Π°Π·Π΅ Π±Π»ΠΎΠΊΡ‡Π΅ΠΉΠ½Π°, immudb позволяСт Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΌΠΈΠ»Π»ΠΈΠΎΠ½ΠΎΠ² Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Π² сСкунду ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ для запуска лСгковСсных сСрвисов ΠΈΠ»ΠΈ для встраивания своСй Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π² прилоТСния Π² Ρ„ΠΎΡ€ΠΌΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ.

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° Π‘Π£Π‘Π” immudb 1.0, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ искаТСния Π΄Π°Π½Π½Ρ‹Ρ…

Высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ достигаСтся благодаря ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡŽ Π΄Π΅Ρ€Π΅Π²Π° LSM (Log-structured merge-tree) c Π»ΠΎΠ³ΠΎΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ быстрый доступ ΠΊ записям ΠΏΡ€ΠΈ высокой интСнсивности добавлСния Π΄Π°Π½Π½Ρ‹Ρ…. Для поддСрТания цСлостности Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ задСйствована дрСвовидная структура «Π΄Π΅Ρ€Π΅Π²ΠΎ ΠœΠ΅Ρ€ΠΊΠ»Π°» (Merkle Tree), Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ каТдая Π²Π΅Ρ‚ΠΊΠ° Π²Π΅Ρ€ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ всС Π½ΠΈΠΆΠ΅Π»Π΅ΠΆΠ°Ρ‰ΠΈΠ΅ Π²Π΅Ρ‚ΠΊΠΈ ΠΈ ΡƒΠ·Π»Ρ‹ благодаря совмСстному (Π΄Ρ€Π΅Π²ΠΎΠ²ΠΈΠ΄Π½ΠΎΠΌΡƒ) Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡŽ. ИмСя ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹ΠΉ Ρ…Π΅Ρˆ, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΌΠΎΠΆΠ΅Ρ‚ ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒΡΡ Π² коррСктности всСй истории ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ Π² коррСктности ΠΏΡ€ΠΎΡˆΠ»Ρ‹Ρ… состояний Π‘Π” (ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΡ‡Π½Ρ‹ΠΉ Ρ…Π΅Ρˆ Π½ΠΎΠ²ΠΎΠ³ΠΎ состояния Π±Π°Π·Ρ‹ вычисляСтся с ΡƒΡ‡Ρ‘Ρ‚ΠΎΠΌ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠ³ΠΎ состояния).

ΠšΠ»ΠΈΠ΅Π½Ρ‚Π°ΠΌ ΠΈ Π°ΡƒΠ΄ΠΈΡ‚ΠΎΡ€Π°ΠΌ прСдоставляСтся криптографичСскоС Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²ΠΎ владСния ΠΈ цСлостности Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ ΠΏΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡Π°ΠΌ Π½Π΅ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° довСрия ΠΊ сСрвСру, Π° ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΊ Π‘Π£Π‘Π” ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΎΠ±Ρ‰Π΅ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ довСрия ΠΊΠΎ всСму Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Ρƒ. ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈ списки ΠΎΡ‚Π·Ρ‹Π²Π° ΠΊΠ»ΡŽΡ‡Π΅ΠΉ хранятся Π² Π‘Π”, Π° ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ с ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π°Π½ΠΊΠ»Π°Π²Ρ‹ Intel SGX.

Из Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ… возмоТностСй Π‘Π£Π‘Π” упоминаСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° SQL, Ρ€Π΅ΠΆΠΈΠΌ хранСния ΠΊΠ»ΡŽΡ‡/Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, индСксы, сСгмСнтированиС Π‘Π” (sharding), созданиС ΡΠ½Π°ΠΏΡˆΠΎΡ‚ΠΎΠ² состояния Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΈ ACID с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ изоляциСй ΡΠ½Π°ΠΏΡˆΠΎΡ‚ΠΎΠ² (SSI), высокая ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ чтСния ΠΈ записи, ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ для эффСктивной Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π° SSD-накопитСлях, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ΅ сСрвСра ΠΈ встраиваСмой Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° REST API ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ web-интСрфСйса для управлСния. Из Ρ‚ΠΈΠΏΠΈΡ‡Π½Ρ‹Ρ… областСй примСнСния, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… вострСбованы Π‘Π£Π‘Π”, ΠΏΠΎΠ΄ΠΎΠ±Π½Ρ‹Π΅ immudb, ΠΎΡ‚ΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ с ΠΊΡ€Π΅Π΄ΠΈΡ‚Π½Ρ‹ΠΌΠΈ ΠΊΠ°Ρ€Ρ‚Π°ΠΌΠΈ, Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… сСртификатов, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹Ρ… сумм ΠΈ Π»ΠΎΠ³ΠΎΠ², созданиС Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‰Π΅Π³ΠΎ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° для Π²Π°ΠΆΠ½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ Π² Ρ‚Ρ€Π°Π΄ΠΈΡ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π‘Π£Π‘Π”. ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с immudb ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½Ρ‹ для Go, Java, .NET, Python ΠΈ Node.js.

ΠšΠ»ΡŽΡ‡Π΅Π²Ρ‹Π΅ ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ Π² выпускС immudb 1.0:

  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° SQL с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ строк ΠΎΡ‚ скрытой ΠΌΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ.
  • Π Π΅ΠΆΠΈΠΌ TimeTravel, Π΄Π°ΡŽΡ‰ΠΈΠΉ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ состояниС Π‘Π” Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π² ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ. Π’ Ρ‚ΠΎΠΌ числС врСмя срСза Π΄Π°Π½Π½Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… подзапросов, Ρ‡Ρ‚ΠΎ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Π°Π½Π°Π»ΠΈΠ· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈ ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ сравнСния Π΄Π°Π½Π½Ρ‹Ρ….
  • ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° клиСнтского ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° PostgreSQL, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ с immudb ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ прилоТСния ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ, рассчитанныС Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с PostgreSQL. Π’ Ρ‚ΠΎΠΌ числС ΠΏΠΎΠΌΠΈΠΌΠΎ Ρ€ΠΎΠ΄Π½Ρ‹Ρ… клиСнтских Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ клиСнтскиС Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈ Ruby, C, JDBC, PHP ΠΈ Perl.
  • Web Console для ΠΈΠ½Ρ‚Π΅Ρ€Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΈ администрирования Π‘Π£Π‘Π”. Π§Π΅Ρ€Π΅Π· web-интСрфСйс ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ запросы, ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ. Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ доступна ΠΎΠ±ΡƒΡ‡Π°ΡŽΡ‰Π°Ρ срСда Playground.
    ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° Π‘Π£Π‘Π” immudb 1.0, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ искаТСния Π΄Π°Π½Π½Ρ‹Ρ…
    ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π° Π‘Π£Π‘Π” immudb 1.0, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π°Ρ Π·Π°Ρ‰ΠΈΡ‚Ρƒ ΠΎΡ‚ искаТСния Π΄Π°Π½Π½Ρ‹Ρ…


    Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru