2015-12-08 7 views
5

Mam bazę danych aktualnie w Mongo działającym na instancji EC2 i chciałbym przenieść dane do DynamoDB. Czy jest to możliwe i jaki jest najbardziej opłacalny sposób, aby to osiągnąć?MongoDB do DynamoDB

+1

Czy to możliwe? Tak. Jaki jest najlepszy sposób na zrobienie tego? Zbyt szeroki dla tej witryny. –

+0

Myślę, że będziesz musiał napisać program, który przeniesie twoje dane z mongodb do dynamodb, biorąc pod uwagę format danych. – Askar

Odpowiedz

4

Gdy pytasz o "opłacalny" sposób migracji danych, zakładam, że szukasz istniejących technologii, które mogą ułatwić Ci życie. Jeśli tak, można wykonać następujące czynności:

  • eksport danych MongoDB do pliku tekstowego, powiedzmy w formacie TSV użyciu mongoexport.
  • Prześlij ten plik gdzieś w S3.
  • Zaimportuj te dane, w S3, do DynamoDB, używając AWS Data Pipeline.

Należy oczywiście zaprojektować & do sfinalizowania schematu stołu DynamoDB, zanim to wszystko zrobimy.

3

Ilekroć zmieniasz bazy danych, musisz bardzo uważać na sposób migracji danych. Niektóre formaty danych zachowują spójność typów, podczas gdy inne nie.

Następnie są tylko formaty danych, które nie mogą obsłużyć twojego schematu. Na przykład CSV świetnie radzi sobie z obsługą danych, gdy jest jeden wiersz na wpis, ale jak renderować osadzoną tablicę w CSV? To naprawdę nie jest możliwe, JSON jest w tym dobry, ale JSON ma własne problemy.

Najprostszym przykładem tego jest JSON i DateTime. JSON nie ma specyfikacji do przechowywania wartości DateTime, mogą one zakończyć się datami ISO8601, a może czasami znacznikami czasu UNIX Epoch lub naprawdę czymś, co może wymyślić programista. A co z Longs, Doubles, Ints? JSON nie dyskryminuje, czyni je wszystkimi ciągami, co może spowodować utratę precyzji, jeśli nie zostanie poprawnie zserializowane.

To bardzo ważne, aby wybrać odpowiedni nośnik tłumaczeń. Ogólnie oznacza to, że musisz przetasować własne rozwiązanie. Oznacza to ładowanie sterowników dla obu baz danych, czytanie wpisu z jednego, tłumaczenie i pisanie do drugiego. Jest to najlepszy sposób, aby absolutnie upewnić się, że błędy są poprawnie obsługiwane w twoim środowisku, że typy są utrzymywane konsekwentnie i że kod poprawnie tłumaczy schemat od źródła do miejsca docelowego (jeśli to konieczne).

Co to wszystko oznacza dla Ciebie? Oznacza to dla ciebie wiele pracy nóg. Możliwe, że ktoś już wytoczył coś, co jest wystarczająco szerokie dla twojej sprawy, ale w przeszłości odkryłem, że najlepiej jest zrobić to samemu.

0

Znam ten post jest stary, Amazon umożliwił z AWS DMS, sprawdzić ten dokument:

https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html 

Niektóre istotne części:

użyciu bazy danych Amazon DynamoDB jako cel dla AWS Baza danych Usługa migracji

Możesz użyć AWS DMS do migracji danych do tabeli Amazon DynamoDB. Amazon DynamoDB to w pełni zarządzana usługa bazy danych NoSQL, która zapewnia szybką i przewidywalną wydajność przy płynnej skalowalności. AWS DMS obsługuje używanie relacyjnej bazy danych lub MongoDB jako źródła.

+0

Podczas gdy ten link może odpowiedzieć na pytanie, lepiej umieścić w nim istotne części odpowiedzi i podać link do odsyłacza. Odpowiedzi dotyczące linków mogą stać się nieprawidłowe, jeśli strona z linkami się zmieni. - [Z recenzji] (/ recenzja/niskiej jakości-posts/18355749) – thewaywewere

+0

Ma również poważne problemy z formatowaniem. – Stefan