portugues - sqlite tipos de dados




Quão escalável é o SQLite? (7)

Eu li recentemente esta pergunta sobre o SQLite vs MySQL e a resposta apontou que SQLite não escala bem e o site oficial tipo de confirma isso , no entanto.

Quão escalável é o SQLite e quais são seus limites mais altos?


A escalabilidade do SQLite depende muito dos dados usados ​​e do formato deles. Eu tive alguma experiência difícil com tabelas extra longas (registros GPS, um registro por segundo). A experiência mostrou que o SQLite diminuiria em etapas, em parte devido ao constante reequilíbrio das crescentes árvores binárias que mantêm os índices (e com índices com registro de data e hora, você sabe que a árvore vai se reequilibrar bastante, mas é vital para você pesquisas). Então, no final, em cerca de 1GB (muito ballpark, eu sei), as consultas tornam-se lentas no meu caso. Sua milhagem irá variar.

Uma coisa a lembrar, apesar de todo o gabarito, SQLite não é feito para armazenamento de dados. Existem vários usos não recomendados para o SQLite. As pessoas boas por trás do SQLite dizem isso por si mesmas:

Outra maneira de ver o SQLite é: o SQLite não foi projetado para substituir o Oracle. Ele é projetado para substituir fopen ().

E isso leva ao argumento principal (não quantitativo, desculpe, mas qualitativo), SQLite não é para todos os usos, enquanto o MySQL pode cobrir muitos usos variados, mesmo que não idealmente. Por exemplo, você poderia ter o MySQL armazenando cookies do Firefox (em vez do SQLite), mas você precisaria desse serviço em execução o tempo todo. Por outro lado, você poderia ter um site transacional rodando em SQLite (como muitas pessoas fazem) em vez do MySQL, mas espere muito tempo de inatividade.


Eu acho que um servidor web (em números 1) servindo hunderts de clientes aparece no backend com uma única conexão com o banco de dados, não é?

Portanto, não há acesso simultâneo no banco de dados e, portanto, podemos dizer que o banco de dados está funcionando no 'modo de usuário único'. Não faz sentido discusar o acesso multiusuário em tal circunstância e, assim, o SQLite funciona tão bem quanto qualquer outro banco de dados baseado em servidor.


O Sqlite é um banco de dados de área de trabalho ou em processo . SQL Server, MySQL, Oracle e seus irmãos são servidores .

Os bancos de dados da área de trabalho não são, por natureza, uma boa opção para qualquer aplicativo que precise oferecer suporte ao acesso de gravação simultâneo ao armazenamento de dados. Isso inclui em algum nível a maioria dos sites já criados. Se você precisar fazer o login, provavelmente precisará de acesso de gravação ao banco de dados.


O site do SQLite (a parte que você referenciou) indica que ele pode ser usado para uma variedade de situações multiusuário.

Eu diria que ele pode lidar com um pouco. Na minha experiência, sempre foi muito rápido. É claro que você precisa indexar suas tabelas e, ao codificá-las, é necessário usar consultas parameritizadas e afins. Basicamente o mesmo material que você faria com qualquer banco de dados para melhorar o desempenho.


Pense desta maneira. O SQL Lite será bloqueado sempre que alguém o usar (o SQLite não bloqueia a leitura). Portanto, se você veicular uma página da Web ou um aplicativo que tenha vários usuários simultâneos, apenas um deles poderá usar seu aplicativo por vez com o SQLLite. Então, certo, há um problema de escala. Se for uma aplicação de uma só pessoa, diga que uma biblioteca de música onde você tem centenas de títulos, classificações, informações, uso, jogo, tempo de jogo, então SQL Lite vai escalar lindamente segurando milhares, senão milhões de registros.

O MySQL, por outro lado, funciona bem para aplicativos de servidores em que pessoas de todo o mundo o usarão simultaneamente. Não bloqueia e é bastante grande em tamanho. Então, para a sua biblioteca de músicas, o MySql seria mais do que matar, uma vez que apenas uma pessoa o veria, A MENOS QUE esta seja uma biblioteca de música compartilhada onde milhares de usuários a adicionam ou atualizam. Então MYSQL seria o único a usar.

Então, em teoria, o MySQL é melhor escalonado que o Sqllite, pois pode suportar usuários múltiplos, mas é um exagero para um único aplicativo de usuário.


Pode valer a pena conferir o REAL SQL Server , que é um servidor de banco de dados criado no SQLite.


Você já leu este documento SQLite - http://www.sqlite.org/whentouse.html ?

O SQLite geralmente funcionará muito bem como o mecanismo de banco de dados para sites de tráfego baixo a médio (ou seja, 99,9% de todos os sites). A quantidade de tráfego da web que o SQLite pode suportar depende, é claro, de quão fortemente o site usa seu banco de dados. De modo geral, qualquer site que receba menos de 100 mil acessos / dia deve funcionar bem com o SQLite. O número de 100 mil ocorrências / dia é uma estimativa conservadora, não um limite superior rígido. O SQLite demonstrou trabalhar com 10 vezes essa quantidade de tráfego.





scalability