Хранение ацикличного графа в файле

Ищу альтернативу БД в своём приложении, нужна быстрая запись и поиск по строкам. Рассматриваю вариант с библиотекой MDAG https://github.com/klawson88/MDAG. Объект MDAG можно создавать из коллекции и из файла, но если создавать из файла .txt и осуществлять поиск, то получается слишком долго.

MDAG mdag = new MDAG(new File("file.txt"));
MDAG mdag1 = new MDAG(new ArrayList<>());

Может кто-то подскажет, можно ли сохранить файл со структурой графа и быстро получить к нему доступ или вообще другой способ хранения?


Ответы (1 шт):

Автор решения: Kromster

но если создавать из файла .txt и осуществлять поиск, то получается слишком долго.

  • Значит создавайте не из текстового, а из бинарного (если он в MDAG есть).
  • Слишком долго это сколько, на что тратиться время, на чтение файла или на парсинг? Если на чтение, то тут ничего не поделать. Если на парсинг - копайте в сторону вариантов более быстрого парсинга. Если на поиск - добавляйте индексацию.

можно ли сохранить файл со структурой графа и быстро получить к нему доступ

конечно можно, но тут вопрос в том, что такое "быстро" в вашем понимании (см. выше).

или вообще другой способ хранения?

Не изобретать велосипед и использовать локальную БД (например SQLite)

→ Ссылка