Batyr

Microservice for on-demand synchronization of geographical vector datasources to a PostgreSQL/PostGIS database. The service provides an HTTP API for easy integration into other applications.
Alternatives To Batyr
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Dotmim.sync708110a month ago90July 07, 202219mitC#
A brand new database synchronization framework, multi platform, multi databases, developed on top of .Net Standard 2.0. https://dotmimsync.readthedocs.io/
Symmetric Ds566
2 days ago9Java
SymmetricDS is database replication and file synchronization software that is platform independent, web enabled, and database agnostic. It is designed to make bi-directional data replication fast, easy, and resilient. It scales to a large number of nodes and works in near real-time across WAN and LAN networks.
Websqlsync496
3 years ago4JavaScript
Synchronize a local WebSQL DB to a server
Kitchen_sync267
2 months ago1February 27, 20184mitC++
Fast unidirectional synchronization - make or efficiently update a copy of a database, without slow dumping & reloading
React Agent235
14 years ago19February 09, 2018mitJavaScript
Client and server-side state management library
Syncchanges104219 hours ago11April 19, 20225mitC#
Synchronize/Replicate database changes using SQL Server Change Tracking
Csync298
a year ago22gpl-2.0C
file synchronization tool using librsync and current state databases
Vault841412 months ago27August 07, 202010apache-2.0Java
Easy persistence of Contentful data for Android over SQLite.
Moduleinterface60
3 months ago2otherC++
Easy config and value sync between IoT modules, database and web pages
Watchdb59
8 years agoMarch 12, 20151mitGo
Keeping SQLite databases in sync
Alternatives To Batyr
Select To Compare


Alternative Project Comparisons
Readme

batyr

A server which connects all kinds of vector geodata sources to a PostgreSQL/PostGIS database and provides a structured way to synchronize external data to database tables.

One common situation when dealing with geographic data is repeatedly exporting and importing this data to and from a PostGIS-enabled database. While the export is very well covered by products like Mapserver and GeoServer, importing is a bit more tricky. Common solutions consist mostly of custom scripts wrapping commands like shp2pgsql or ogr2ogr. These solutions often fail or at least need some tricky hacks if single rows of data should be updated instead of deleting and restoring the complete table content. It is also hard to account for slow or interrupted transactions and still make sure that the data stays synchronized as a whole. Using these import scripts requires either command line access or some custom code to hook them up to a job queue or even web interface to make them usable from within other applications.

Flaws like those were the reason for us to create batyr as a reusable solution for similar demands in the future.

Screenshot of the status page of the webinterface

batyr is a single server application providing the following:

  • "Intelligent" writing of data. A synchronization does not consist of a complete truncate and restore of a table anymore. Only features which have any differences to the ones provided by the external datasource are actually updated. New features are only created if they are not already in the database and features get (optionally) removed from the database if they are not part of the datasource any more. All this uses the primary key of the table to identify matching features from the datasource.
  • An integrated web-interface to get an overview on the current state of the server and to optionally start syncronizations manually.
  • A well-documented HTTP-API to easily integrate the batyr into other applications and allow flexible triggering of synchroniszations. Furthermore the HTTP-API provides methods to integrate batyr in existing monitoring systems like Nagios.
  • On-the-fly transformation of geometries to the spatial reference system of the database table. The required reference system is looked up in the PostGIS geometry_columns view/table and the transformation itself is performed by PostGIS.
  • Internally batyr uses the OGR-library to access datasources. So batyr covers all vector formats supported by OGR and connecting to - for example - a WFS is possible. Additionally this allows using OGR Virtual Formats for extended configuration options.
  • Synchronization jobs are internally queued and are handled in parallel using a configurable number of database connections. This takes care of a responsive HTTP-API as well as optimal usage of resources.

With these features it is possible to quickly integrate external geodata into your PostGIS database - without having to spend time creating custom code.

Screenshot of the jobqueue of the webinterface

For the complete manual see the included MANUAL.md file.

Popular Database Projects
Popular Synchronization Projects
Popular Data Storage Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
C Plus Plus
Database
Postgresql
Geometry
Gis
Synchronization
Postgis
Gdal