Pergunta

Estou avaliando Amazon SimpleDB neste momento. SimpleDB é muito flexível no sentido de que ele não tem que ter mesa (ou domínio) esquemas. Os evolui esquema como criar / comandos de atualização fluir. Tudo isso é bom, mas enquanto eu estou usando uma ferramenta de modelagem (avaliando MindScape LightSpeed) I exigem a inicial do esquema, para que a ferramenta para gerar modelos baseados no esquema. Posso artesanato domínios em SimpleDB e que não ajuda, mas por que eu tenho que realizar pelo menos uma operação de criação no domínio. Eu estou procurando a capacidade de criar apenas esquema de domínio. Qualquer pistas?

Foi útil?

Solução

Não há esquema no SimpleDB.

Esta é a razão pela qual as pessoas NoSQL sugerir a "desaprender" bancos de dados relacionais antes de mudar o paradigma para estes armazenamentos de dados não relacionais.

Assim, você não pode fazer o que você descreve. Sem os dados, não haverá nada.

Outras dicas

Embora seja verdade que SimpleDB não tem suporte esquema, mantendo algumas informações de tipo acaba por ser crucial se você executar consultas em em dados numéricos ou datas *. A maioria dos produtos NoSQL ter ambas as consultas e tipos, ou então não-consultas e não-tipos, mas SimpleDB escolheu consultas e não-tipos.

Como resultado, a integração com qualquer fora ferramenta de sua principal aplicação vai exigir que você quer:

  1. armazenar informações duplicado tipo em diferentes lugares
  2. criar seu próprio sistema esquema simples para armazenar as informações de tipo

A opção 2 parece muito melhor e escolhê-lo, apesar do que alguns sugerem, não significa que você "não tem o seu juízo perfeito."

S3 pode ser uma boa opção para esses dados, é possível mantê-lo em um arquivo com o mesmo nome que o seu domínio e será acessível a partir de qualquer lugar com as mesmas credenciais da AWS como sua conta SimpleDB.

Armazenar os dados como uma lista de attributename = nome_do_formato é a extensão do que eu precisava fazer. Você pode, na verdade, armazenar tudo isso em um item em seu domínio. O único problema é que este especial item pode inadvertidamente voltar de uma consulta de domínio em que você está esperando dados ao vivo não digitar informações.

Eu não estou familiarizado com MindScape LightSpeed, mas esta é uma estratégia geral que eu encontrei benéficas ao usar SimpleDB, e se o produto é capaz de carregar / armazenar um arquivo no S3, em seguida, tanto melhor.

* Nota: apenas para ser claro, eu não estou falando de reinventar a roda ou tentando usar SimpleDB como um banco de dados relacional. Eu estou falando sobre o fato de que os dados numéricos devem ser armazenados tanto com estofamento zero (para um comprimento de sua escolha) e um valor de deslocamento (dependendo se for assinado ou não assinado), a fim de trabalhar com linguagem de consulta seqüência de base do SimpleDB . Depois de decidir sobre um formato, ou um conjunto de formatos para ser usado em seu aplicativo, seria loucura deixar que a informação escondida em e espalhados por seus arquivos de origem no caso em que a informação é necessária por ferramentas de código fonte, ferramentas de consulta , ferramentas de relatórios ou qualquer outro código.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top