Wpis z mikrobloga

W jaki sposób, przy pomocy mongodb i springa zapisać wygenerowaną dużą kolekcję (> 10M dokumentów) do mongo? Przy użyciu spring data i MongoRepository (saveAll, próbowałem też dzielić na batche) heap rośnie do niebotycznych rozmiarów i łapie GC overhead.

#programowanie #java #spring #mongodb
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@xdeidara: Mniej więcej tak:

int PERSISTANCEBATCHSIZE = 1000;
List> batches = Lists.partition(generatedData, PERSISTANCEBATCHSIZE);
batches.forEach(batch -> repository.saveAll(batch));
  • Odpowiedz
@xdeidara: Bulk jest na poziomie mongo shella, a ja używam "ORM-a" gdzie on teoretycznie powinien to zrobić za mnie ( ͡° ͜ʖ ͡°) Chyba faktycznie będę musiał zrezygnować ze spring data dla tego przypadku i zejść na niższy poziom...
  • Odpowiedz