Lightweight ODBC DB
Hi,
I am running several Asterisk boxes with realtime around the world. Does anyone have a recommendation for a “light” db that would work with Asterisk that would also allow replication between all sites (so if I add an entry to one box it will work with the rest)?
TIA.
Dovid
7 thoughts on - Lightweight ODBC DB
Hi Dovid,
Totally possible… We’re currently doing what you suggest with standard mySQL configured in Master-Master replication mode, across many nodes geo-distributed, with no (or few, like environment related) errors… for a few years now.
This allows for fast updates at any node, and synchronizes via replication across other nodes as necessary.
There are other replication solutions out there, but nothing as free, and
“light” as this, that we’ve found so far.
Hope this helps.
*Glenn Geller*
*VDOTel*
Have you looked at PBXSync (or HAAst) from Telium? (https://telium.io)
These products will sync MySQL, SQLite, plus files, directories, etc. intelligently. (Differentials only) between PBX’s, reload configurations on the fly, etc. No need roll logs or recover from a base in case they get too far out of sync.
HAAst will also prevent synchronizing if a node is in poor health (to avoiding sync’ing in corrupted data).
I’m not sure what you are building but this might help. Aside from this, avoid block based synchronization of databases (eg: DRBD) for the obvious reasons.
There are Master-Master sync tools out there, but if you are trying to wrap some intelligence around that then you are basically building your own sync product.
-Raj-
From: asterisk-users [mailto:asterisk-users-bounces@lists.digium.com] On Behalf Of Dovid Bender Sent: Tuesday, July 30, 2019 9:55 PM
To: Asterisk Users Mailing List – Non-Commercial Discussion
Subject: [asterisk-users] Lightweight ODBC DB
Hi,
I am running several Asterisk boxes with realtime around the world. Does anyone have a recommendation for a “light” db that would work with Asterisk that would also allow replication between all sites (so if I add an entry to one box it will work with the rest)?
TIA.
Dovid
Glenn,
I can’t use MySQL as each node currently has MySQL however there is a lot of data that is stored locally on each box. I may have to take this route if I can’t find something else but that would mean syncing all sorts of data that does not need to be synced.
If I recall correctly, you can exclude databases.
Doug
It is not tough to run multiple instances of MySQL using different data directories and different ports/sockets. Google for mysqld_multi.
I have an MySQL instance which holds call routing information and is replicated to the Asterisk servers. I have a second MySQL instance on the same server which holds CDRs and other data which doesn’t need to be
replicated to the Asterisk servers.
—
http://help.nyigc.net/
—
IF you use the HAAst or PBXSync solution, you can include/exclude at the table and database levels. You can also use SQLite if the data is suitable (and these products can sync SQLite too).
If you want a non-commercial solution, MySQL’s log rolling may be most suitable.
From: asterisk-users [mailto:asterisk-users-bounces@lists.digium.com] Glenn,
I can’t use MySQL as each node currently has MySQL however there is a lot of data that is stored locally on each box. I may have to take this route if I can’t find something else but that would mean syncing all sorts of data that does not need to be synced.
If I recall correctly, you can exclude databases.
Doug
https://dev.mysql.com/doc/refman/5.7/en/replication-solutions-partitioning.html