Aplikacja HTML5 - przechowywanie rekordów po stronie klienta

Mam prostą aplikację HTML5 (ma wspierać jedynie Safari Mobile + Chrome for Android).

Po stronie klienta chciałbym przechowywać listę rekrdów (kontakty). Pierwszy pomysł: localStorage. Jednak są pewne problemy: kontaktów jest dużo (20-50k), mają przypisane formularze (relacja wiele-do-wielu) oraz chciałbym jakoś sensownie przeszukiwać tą listę, np. po polu ‘first_name’.

Rozwiązaniem wszystkich problemów jest Web SQL. Niestety draft nie przeszedł przez W3C, jest wspierane jedynie na Chrome i Safari (ale to jest 100% pokrycia moich klientów).

Używać? Czy babrać się z localStorage…

Edit: wydaje mi się że problem jest większy. 50k rekordów nie zmieści mi się w 5mb limicie tak czy inaczej. Więc prawdopodobnie będziemy musieli zmienić koncepcję.

Patrzyłeś na https://www.firebase.com? Nie wiem tylko czy będzie się dało wyszukiwać po first_name, bo mają trochę ograniczone możliwości https://www.firebase.com/docs/queries.html

Jeśli miałbyś iść pierwotną drogą to raczej nie localStorage gdyż jest to tylko key - value storage przez co wyciąganie i szukanie danych jest uciążliwe.