Imagine que seu requisito é que você tenha 3 tabelas enormes (dados estruturados) com, digamos, 30 bilhões de linhas em cada (tamanho total de 4 TB) e seus muitos usuários simultâneos (que são threads de sistemas paralelos em máquinas de LAN remotas) precisarão ler uma parte de os dados através de suas consultas SELELCT WHERE GROUPBY e altamente simultâneos, digamos 10.000 leituras simultâneas ao mesmo tempo e também os usuários precisam inserir (sem atualização) dados nessas tabelas altamente simultâneos, como 2000 gravadores simultâneos (em toda a rede LAN do datacenter) . Os usuários gostariam de ler e inserir o mais rápido possível neste armazenamento, onde cada leitura e gravação ocorrerá de 1 a 1 segundo.
Quais tecnologias você recomenda para atender a esse requisito? Existe algum armazenamento de dados ou armazenamento de valores-chave que possa fazer isso? Nuvem NÃO é uma opção.
Alguns esclarecimentos:
Os usuários NÃO precisam ver os dados imediatamente e a consistência eventual é aceitável. Os dados são acessados por qualquer driver que o armazenamento possa fornecer e os usuários são novamente apenas threads executados em máquinas remotas do data center. As consultas são principalmente como SELECT WHERE GROUPBY.
Os dados estão em formato de tabela e cada linha tem cerca de 60 bytes.
Nenhuma opção de nuvem em que não posso usar o DynamoDB ou soluções semelhantes. Eu tenho que poder hospedá-lo internamente no data center.
Todos os dados das tabelas podem ser lidos o tempo todo e o padrão de uso é imprevisível. Não há associação ou consulta super longa. Não é necessário DR, mas é necessário um HA razoável, mas não precisa ser sofisticado. Todo leitor está obtendo um lote de linhas com base na cláusula where e nas linhas realmente não estão relacionadas. Provavelmente, podemos ter um comprimento fixo para cada linha, mas espero que a camada de armazenamento se preocupe com isso.
Além disso, minha maior preocupação são todas as gravações simultâneas que estão acontecendo com leituras simultâneas.
Suas idéias sobre isso são muito apreciadas.
E mais, tenho três dessas tabelas com cada 30 bilhões de linhas segurando diferentes tipos de objetos