Mam problem, w którym muszę bardzo szybko załadować wiele danych (5+ miliardów wierszy) do bazy danych (najlepiej mniej niż 30 minut, ale szybciej jest lepiej), a ostatnio zasugerowano mi zaglądanie do postgresql (nie udało mi się z mysql i patrzyłem na hbase/cassandra). Moja konfiguracja polega na tym, że mam klaster (obecnie 8 serwerów), który generuje wiele danych, i myślałem o uruchomieniu baz danych lokalnie na każdym komputerze w klastrze, który szybko zapisuje lokalnie, a następnie na końcu (lub w całym procesie generowania danych) dane są połączone razem. Dane nie są w żadnej kolejności, więc nie obchodzi mnie, który konkretny serwer jest na nim (o ile w końcu tam jest).Auto sharding postgresql?
Moje pytania brzmią, czy istnieją dobre tutoriale lub miejsca, w których można się dowiedzieć o automatycznym odkładaniu PostgreSQL (znalazłem wyniki firm takich jak sykpe, które wykonują automatyczne sharding, ale bez samouczków, chcę się z tym bawić)? Czy to, co próbuję zrobić, to możliwe? Ponieważ dane nie są w jakiejkolwiek kolejności, zamierzałem użyć automatycznie zwiększającego się numeru identyfikacyjnego, czy spowoduje to konflikt, jeśli dane zostaną scalone (to już nie jest duży problem)?
Aktualizacja: Pomysł Franka poniżej niwelował problem z automatycznym inkrementowaniem, o który pytałem. Nasuwa się teraz pytanie, w jaki sposób mogę się dowiedzieć o automatycznym shardowaniu i czy obsługuje ono rozproszone przesyłanie danych do wielu serwerów?
Załadowałem ~ 10 milionów wierszy do bazy danych postgres w <5 min, więc z przekonaniem mogę powiedzieć, że jest to bardzo ważny zasób, na którym można polegać podczas ładowania danych do jednego fragmentu: http: // www .postgresql.org/docs/8.1/statical/populate.html To również wygląda obiecująco: http://support.projects.postgresql.org/ –
'Chciałem użyć auto-inkrementującego numeru ID, spowoduje to konflikt jeśli dane są scalane? Po prostu zwiększaj o 10 i zacznij od różnych przesunięć. Serwer 1 używa identyfikatorów 1.11,21,31; serwer 2 używa identyfikatorów 2,12,22,32 –
@FrankFarmer Dzięki za link i świetny pomysł na ponowne zwiększenie. Wydaje mi się, że to trochę skomplikowane, wtedy myślę, że pytanie dotyczy tylko automatycznego dzielenia i rozproszonego przesyłania. – Lostsoul