SymmetricDS

SymmetricDS
Перший випускNovember 2007
Стабільний випуск3.9.15 (31 жовтня 2018 (2018-10-31))
Операційна системаMicrosoft Windows, Linux, Mac OS X, Android
Доступні мовиEnglish
Стан розробкиActive
ЛіцензіяGPL
Вебсайтsymmetricds.org

SymmetricDS - це програмне забезпечення з відкритим початковим кодом для синхронізації баз даних і файлів з можливістю multi-master replication, фільтрованої синхронізації та можливостей трансформації.[1] Він розроблений здатним до масштабування для великої кількості вузлів та роботи із з'єднаннями з низькою пропускною здатністю і витримує періоди відключення мережі.[2] Синхронізація даних відбувається асинхронно від запланованого завдання, при цьому зміни даних надсилаються через операцію push або pull. Він використовує стандартні вебпротоколи (HTTP) і технології баз даних (JDBC) для того, щоб підтримувати широкий спектр платформ і максимізувати його сумісність. Вона включає підтримку Oracle, MySQL, MariaDB, PostgreSQL, Greenplum, SQL Server, SQL Server Azure, HSQLDB, H2, Derby, DB2, Firebird, Informix, Interbase, SQLite, Sybase ASE, Sybase ASA, MongoDB, Amazon_Redshift і VoltDB. [3]


Функціональність

SymmetricDS працює як окремий сервер (за допомогою вбудованого Jetty), на сервері програм (наприклад, Apache Tomcat), або вбудований у програму. Конфігурація здійснюється за допомогою файлів властивостей і колекції таблиць конфігурації на центральному вузлі. Таблиці баз даних і файлові системи можуть бути синхронізовані по мережі вузлів. Конфігурація дозволяє вибирати таблиці, стовпці (вертикальна фільтрація) і підмножини рядків (горизонтальна фільтрація) для синхронізації в одному напрямку або в обох напрямках. Файли вибираються за критерієм базової директорії та рекурсійності. Символи підстановки використовуються для узгодження декількох таблиць і файлів. Таблиці можуть бути згруповані в канали, які синхронізуються на основі пріоритету. Групи вузлів пов'язані між собою і призначені транспортним методом push або pull. Push підключається до вузла і надсилає зміни, коли вони будуть готові, тоді як pull буде періодично з'єднуватися з вузлом, щоб перевірити, чи були зроблені зміни. Кілька топологій мережі можливі шляхом з'єднання груп вузлів, включаючи fan-in/out, multi-master, star, та multi-tier tree. Вузол може бути підготовлений з початковим завантаженням даних для заповнення своєї бази даних. Зміни групуються в пакети і призначаються для доставки в вузли з використанням маршрутизаторів. Маршрутизатори можуть бути налаштовані або заскриптовані, щоб фільтрувати дані і приймати рішення, які вузли повинні отримувати дані. Пакети доставляються під час синхронізації та відслідковуються за допомогою порядкового номера та статусу, з періодичними спробами, призначеними для автоматичного відновлення помилок. Інструменти керування для командного рядка та вебконсолі JMX включені для керування вузлами з центрального розташування. Інтерфейси програмування для Java і REST включені для розширення та налаштування поведінки.

Також слід звернути увагу

  • Порівняння програмного забезпечення для синхронізації файлів
  • Реплікація (обчислення)

Досвідченим користувачам

  • OpenMRS - відкрита система медичного запису[4]
  • Openboxes - програмне забезпечення управління ланцюгами постачання [5]

Посилання

  1. ↑ SymmetricDS. SourceForge (англ.). Архів оригіналу за 11 квітня 2019. Процитовано 11 квітня 2019.
  2. ↑ Synchronize Databases with SymmetricDS. SourceForge Community Blog (амер.). 23 листопада 2012. Архів оригіналу за 11 квітня 2019. Процитовано 11 квітня 2019.
  3. ↑ Appendix C. Database Notes. www.symmetricds.org. Архів оригіналу за 6 травня 2021. Процитовано 11 квітня 2019. [Архівовано 2021-05-06 у Wayback Machine.]
  4. ↑ Database Synchronization with Symmetric DS - Projects - OpenMRS Wiki. wiki.openmrs.org. Архів оригіналу за 11 квітня 2019. Процитовано 11 квітня 2019.
  5. ↑ Google Code Archive - Long-term storage for Google Code Project Hosting. code.google.com. Архів оригіналу за 11 квітня 2019. Процитовано 11 квітня 2019.