Большинство стратегий оптимизации оптимизируют скорость или размер и обменивают одну на другую.В целом, решения RDBMS оптимизируются по скорости, за счет размера, например, создавая индекс, вы занимаете больше места, а взамен вы получаете более быстрый доступ к данным.
Так что ваше желание оптимизировать дляИ скорость, и размер вряд ли будут выполнены - вам почти наверняка придется торговать друг против друга.
Во-вторых, если вы хотите выполнять "sql-подобные" запросы, я почти уверен, что СУБД - лучшее решение, особенно с огромными наборами данных.
Может случиться так, что базовые данные поддаются определенной оптимизации - например, если вы можете создать собственную схему индексации на основе битовых масок для создания целых чисел и использовать эти целые числа для доступа к данным с использованием логических операторов, вы можете быть в состоянии превзойти производительность индекса RDBMS.