Каковы мои варианты индексирования локального хранилища в браузере? - PullRequest
2 голосов
/ 06 июля 2010

Так что я действительно копаю, используя localStorage для веб-приложений, и он отлично работает ... если вам нужно хранилище значений ключей.Однако я также обнаружил, что мои потребности в хранилище включают нечто вроде таблиц базы данных с отношениями первичный ключ - внешний ключ.Я надеялся, что IndexedDB сформируется быстрее, но меня не устраивает неидеальное решение для выполнения объединений (см. Пример 4) .

Мне хотелось написатьдерево B +, поддерживаемое localStorage и занимающееся индексацией и присоединением к себе;однако, я чувствую, что это может быть излишним по двум причинам:

  1. Он изобретает колесо и, вероятно, сделает это плохо.
  2. Он никогда не достигнет производительности дерева B +реализовано на уровне файлов.

Я уже прочитал тонну критики API IndexedDB (опять же, в основном для операции объединения по принципу «сам по себе»).Итак, мой вопрос: есть ли API, который поддерживается во всех основных браузерах для локального хранения табличных данных (например, localStorage), который специально предназначен для корреляции через индексы?

Просто чтобы задать тон, позвольте мнебыть ясным: я действительно не ищу ответ серебряной пули.Я больше хочу понять, что такое уровень техники.

1 Ответ

0 голосов
/ 05 июля 2011

«Критика против IndexedDB» теперь не такая большая проблема, когда ваш вопрос сегодня отмечает годовщину. Что касается современного состояния, трудно сказать. Web SQL имеет более надежный API, но это просто реляционная база данных. IndexedDB немного новее в игре, но получает все большую и большую поддержку. Хорошая особенность indexedDB заключается в том, что вы можете хранить свои объекты напрямую (и индексировать свойства и т. Д.), Тогда как Web SQL заставит вас переводить набор результатов в ваши объекты и наоборот.

...