Antes de tudo, entenda que JSON é apenas uma técnica de serialização. Por si só, esse método de serialização provavelmente não deve determinar sua mídia de persistência. Olhando para sua pergunta superficialmente, parece que o que você está procurando é um banco de dados de armazenamento relacional típico, no qual você pode usar SQL para consultar seus dados de maneira flexível.
Serializar/desserializar dados JSON para armazenamento ou para apresentação após a recuperação de um banco de dados relacional é trivial em praticamente qualquer linguagem de programação.
Agora, se você realmente precisa armazenar vários trechos de documentos JSON (ou qualquer outro tipo de documento) que realmente não tenha uma estrutura fixa, é quando você normalmente começaria a procurar um tipo de solução NoSQL, como MongoDB. Um outro cenário possível para usar os bancos de dados NoSQL mais populares é quando você está lidando com grandes quantidades de dados e precisa dimensionar horizontalmente (ou seja, os dados são tão grandes que você precisa dimensionar o banco de dados em vários servidores). Muitos sistemas NoSQL tornam isso muito mais fácil do que os bancos de dados relacionais tradicionais. É claro que em tal cenário, você precisaria avaliar essas ferramentas com base na funcionalidade que elas fornecem ao permitir que você leia, grave e consulte dados da maneira mais útil para seu(s) caso(s) de uso.