2009-04-02 27 views
17

No sé cómo autorizada esto es, pero me encontré con esto:¿Para qué se utiliza Sqlite?

http://www.sqlite.org/cvstrac/wiki?p=PerformanceConsiderations

y no parece bueno tener una gran cantidad de conexiones a SQLite. Esto parece ser malo para la web y la mayoría de las aplicaciones que tienen más de unos pocos usuarios. Me cuesta pensar en qué se usaría sqlite cuando no necesitas tantas conexiones. Todos los programas en los que puedo pensar necesitan usuarios, muchos a veces, entonces, ¿qué usaría una base de datos para eso que no permite tantas conexiones? Pensé en prototipos, pero ¿por qué usar eso cuando puedo conectarme a una base de datos más grande? Aplicaciones integradas tal vez?

Gracias.

EDIT: Gracias a todos. Miro a la página se recomienda a continuación, sino un confuso sobre algo:

Under appropriate uses for sqlite it has:

Situaciones donde SQLite funciona bien

• Sitios web

SQLite por lo general será un gran trabajo como el motor de base de datos para baja a media sitios web de tráfico (es decir, el 99,9% de todos los sitios web). La cantidad de tráfico web que puede manejar SQLite depende, por supuesto, de la cantidad de veces que el sitio web utiliza su base de datos. En términos generales, cualquier sitio que obtenga menos de 100.000 visitas/día debería funcionar bien con SQLite. La cifra 100K hits/day es una estimación conservadora, no un límite superior difícil. Se ha demostrado que SQLite funciona con 10 veces esa cantidad de tráfico.

situaciones donde otro RDBMS puede funcionar mejor

• aplicaciones cliente/servidor

Si tiene muchos programas clientes que acceden a una base de datos común sobre una red, se debe considerar el uso de un motor de base de datos cliente/servidor en lugar de SQLite. SQLite funcionará en un sistema de archivos de red, pero debido a la latencia asociada con la mayoría de los sistemas de archivos de red, el rendimiento no será grande. Además, la lógica de bloqueo de archivos de la implementación de muchos sistemas de archivos de red contiene errores (tanto en Unix como en Windows). Si el bloqueo de archivos no funciona como debería, es posible que dos o más programas cliente modifiquen la misma parte de la misma base de datos al mismo tiempo, lo que puede dañar la base de datos. Como este problema es el resultado de errores en la implementación subyacente del sistema de archivos, no hay nada que SQLite pueda hacer para evitarlo.

Una buena regla de oro es que debe evitar el uso de SQLite en situaciones donde se accederá simultáneamente a la misma base de datos desde muchas computadoras a través de un sistema de archivos de red.

La Pregunta:

Voy a mostrar mi ignorancia aquí, pero ¿cuál es la diferencia entre estos dos?

+0

¿por qué me acerqué a esto tan rápido? – johnny

Respuesta

28

Es bueno para situaciones en las que no tiene acceso a una base de datos "real" y todavía quiere el poder de una base de datos relacional. Por ejemplo, Firefox almacena un montón de información sobre su configuración/historial/etc. en una base de datos SQLite.No se puede esperar que todos los que ejecutan Firefox tengan instalado MySQL o Postgre en su máquina.

También es perfectamente capaz de ejecutar sitios web con poco tráfico y mucho tráfico. El rendimiento es en general muy bueno, es más de lo que la gran mayoría de los sitios web necesita para sus niveles de tráfico.

7

A menudo se utiliza para aplicaciones integradas.

Puede ser muy útil utilizar una base de datos como almacenamiento cuando no tiene acceso a un servicio de base de datos. Entonces se usa SQLite ya que es solo un archivo que almacena en alguna parte.

0

Lo que dicen las dos respuestas anteriores. Ampliando ligeramente la respuesta de Chad Birch, sus llamadas al SQLite db, y una implementación bastante pobre de sync() que hace que FF3 sea tan lento en Linux.

25

Esto se responde bien por sí sqlite: Appropriate use of sqlite

Another way to look at SQLite is this: 
SQLite is not designed to replace Oracle. It is designed to replace fopen(). 
3

El iPhone lo utiliza para el historial de llamadas, mensajes SMS, contactos, y otro tipo de datos. Como dijo Ólafur Waage, es bueno para aplicaciones integradas en dispositivos móviles porque es liviano. Lo he usado también en aplicaciones independientes. Fácil de usar y disponible en la mayoría de las plataformas.

3

Piensa en aplicaciones simples de escritorio o de cliente que podrían hacer uso de una base de datos, como un ejemplo pobre, una libreta de direcciones. En lugar de agrupar un enorme motor de base de datos como mysql o postgre con su entregable, sqlite es muy liviano y fácil de incluir con su aplicación final.

8

También encuentro que el uso de SQLite es bueno para obtener una aplicación de prototipo juntos bastante rápido sin la sobrecarga de tener un servidor de base de datos separado o atascar un entorno de desarrollo con una instancia de MySQL/Oracle/Lo que sea.

También es fácil recoger y mover la base de datos a una máquina diferente si es necesario.

2

Este FLOSS Weekly podcast episode habla con el creador de SQLite y cubre, entre otras cosas, el tipo de cosas que usaría. Todo, desde sistemas de archivos para teléfonos móviles hasta sitios web pequeños.

2

En términos simples, SQLite es un paquete de software de dominio público que proporciona un sistema de administración de bases de datos relacionales , o RDBMS. Los sistemas de bases de datos relacionales son utilizados para almacenar registros definidos por el usuario en tablas grandes. Además del almacenamiento y administración de datos, un motor de base de datos puede procesar comandos de consulta complejos que combinan los datos de varias tablas para generar informes y resúmenes de datos. Otros productos populares RDBMS incluyen Oracle Database, IBM's DB2 y SQL Server de Microsoft en el lado comercial , con MySQL y PostgreSQL como productos populares de código abierto. El "Lite" en SQLite no se refiere a sus capacidades. Por el contrario, SQLite es liviano cuando se trata de complejidad de configuración, sobrecarga administrativa y uso de recursos.

Para información detallada y la solución sobre SQLite visite el siguiente enlace:

http://blog.developeronhire.com/what-is-sqlite-sqlite/

Gracias.

Cuestiones relacionadas