Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Chciałbym zrobić replikację bazy PostgreSQL typu multi-master na więcej niż 2 maszyny, co byście polecali do takiej konfiguracji?
Wersja pgsql'a to 9.0
Offline
W sumie to jest kilka narzędzi do wykonywania replikacji.
Replikacja za pomocą dzienników
Replikacja za pomocą narzędzia Londiste
Replikacja za pomocą Slony
Żadnego nie używałem mądry jestem bo w książce przeczytałem
Offline
Tyle to i ja wiem :D zastanawiam się tylko z czego najlepiej skorzystać żeby dobrze to zrobić? I żeby się nie wykrzaczyło przypadkiem.
Offline
Mysql ma replikację wbudowaną w serwer, i raczej się nie wykrzacza.
Do Postgresa radziłbym spróbować Slony, nigdy w życiu nie słyszałem, żeby ktoś polecał cokolwiek innego.
Offline
Nie lepiej poczytać co na sieci piszą? Tutaj chyba nikt tego nie robił. A w wielu miejscach znajdziesz opis rozwiązań i różnic między nimi. Kilka linków:
http://wiki.postgresql.org/wiki/Replication,_Clustering,_and_Connection_Pooling
http://element.edoceo.com/howto/postgresql-replication
http://google.com/search?q=postgresql+replication
Offline
Każde z rozwiązań, które napisałem cieszy się niezawodnością wśród grupy użytkowników. pytanie tylko co ci lepiej spasuje.
Według mnie replikacja mysqla jest "łatwiejsza" niż postgresqla ale to chyba kwestia znajomości bazy.
Offline
Slona odpada, to jest master-slave replikacja, szukam multi-master, nawet nie master-master, bucardo jest master-master, rubyrep tak samo, dodatkowym problemem jest to że jest to wersja 9,0 czyli już nie wspierana przez bucardo.
Znalazłem ciekawy projekt, nazywa się postgres-xc i wgryzam się właśnie w konfigurację, może na to się zdecyduje.
Offline
[quote=mesiu84]Slona odpada, to jest master-slave replikacja, szukam multi-master, nawet nie master-master, bucardo jest master-master, rubyrep tak samo, dodatkowym problemem jest to że jest to wersja 9,0 czyli już nie wspierana przez bucardo.
Znalazłem ciekawy projekt, nazywa się postgres-xc i wgryzam się właśnie w konfigurację, może na to się zdecyduje.[/quote]
W wersji 9.0 postgresa wprowadzono replikacje asynchroniczną. Przy pomocy streaming repliaction można drugi serwer wykorzystać w trybie R/O.
W 9.1 juz jest synchroniczna replikacja.
Offline
Time (s) | Query |
---|---|
0.00010 | SET CHARSET latin2 |
0.00007 | SET NAMES latin2 |
0.00092 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.137.190.6' WHERE u.id=1 |
0.00059 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.137.190.6', 1732507606) |
0.00040 | SELECT * FROM punbb_online WHERE logged<1732507306 |
0.00059 | DELETE FROM punbb_online WHERE ident='18.118.226.167' |
0.00056 | SELECT topic_id FROM punbb_posts WHERE id=184405 |
0.00182 | SELECT id FROM punbb_posts WHERE topic_id=19962 ORDER BY posted |
0.00076 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=19962 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00092 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=19962 ORDER BY p.id LIMIT 0,25 |
0.00084 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=19962 |
Total query time: 0.00762 s |