Я написал программу, которая анализирует текст. Зная номер слова в тексте, я могу определить номер предложения, в котором это слово встречается, номер слова от начала предложения, позиции начального и конечного символов слова и некоторые другие вещи.
Все это оформлено в виде словаря, а данные я получаю по ключам. В связи с этим у меня возник вопрос о том, как наиболее рационально хранить результаты анализа. Например, я знаю номер символа в тексте. По этому номеру я могу узнать номер текущего предложения и номер слова. Или же я знаю номер предложения. Я могу узнать номер первого и последнего символов предложения, номер первого и последнего слова в предложении и другие вещи.
Так вот, возможно ли организовать данные без их дублирования? При изменении текста приходится перестраивать все ключи словаря, кроме того, приходится создавать отдельные ветки ключей в зависимости от того, идет ли анализ на уровне предложения, на уровне слова или на уровне отдельного символа.
Полагаю, что речь идет о базе данных, но с ними в Питоне никогда не работал. Кроме того, не нравится то, что используется чужеродный синтаксис, который еще надо будет разучивать. В некоторых учебниках еще пишут, например, “делайте так, но не делайте так, потому что в mysql есть баг, приводящий к этому”

Возможно ли реализовать задачу посредством внутренних средств Питона, например, словаря?
Но вообще Вам полезно будет почитать что-нибудь по redis. Хорошее хранилище типа хеш-таблица. Простое в освоении + есть хороший и быстрый модуль на питоне. Маленькая книга по редис переведена, к слову, на русский.