Как правильно организовать архитектуру базы mongodb, для хранения большого количества данных?
Предположим сейчас есть csv файл, в котором около миллиарда строк, весом около 500gb и 20 колонок.
Как сохранить данные так, что бы можно было быстро сделать необходимую выборку по разным колонкам?
Собираюсь использовать ssd, centos 6 64bit, с RAM еще не определился.
быстро выборку по любым колонкам без индексов тут не сделать
а с индексами это будет быстрее работать даже в том же mysql
вообще зачем здесь монга то ? в чем профит от неё если у вас одна единственная вставка будет ?
grisbi: часто это по вашему сколько тысяч запросов в секунду ? если у вас там будет куча индексов на их обновление что в мускуле что в монге будет уходить гигантское время при таких апдейтах
Пума Тайланд: информация обновляется примерно один раз в один-два дня, но обновляются лишь некоторые колонки, у некоторых строк (примерно 20-30% строк)
grisbi: в вашем мелком случае вы можете попробовать мускул постгрес и монго и увидеть что вам больше подходит, для админа делов на пару тройку дней ну и программисту надо тоже будет немного озадачиться
MongoDB подходит для слабоструктурированных данных. Если количество колонок может сильно варьироваться, то данные лучше хранить в NoSQL БД.
Однако, возможна и Работа со слабо-структурированными данными в PostgreSQL.
Если имеется много связей между сущностями, то БД с документной моделью вам не подходят - лучше взять реляционную БД.
А в случае если данные имеют структуру графа, то вообще графовую БД.