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


Функціональність ред.

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.
  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.