Grimpi IT Blog

octubre 24, 2008

SQLite vs SQL Server Compact Edition Parte 1

Filed under: SQL Server CE, SQLite — Etiquetas: , , — grimpi @ 11:11 am

Recientemente tuvimos que desarrollar un sistema que debía funcionar con una base de datos embebida. Hay varias soluciones en el mercado, SQLite y SQL Server Compact Edition son de las más populares. (También exista VistaDB, pero es paga).
Cuales son las ventas y desventajas de usar una base u otra?

SQLite:
Pros:

  • Es Open Source
  • Es multiplataforma (Funciona en Linux, Windows, MacOs)
  • Es ultra liviana y rápida. Instalación super sencilla, es un solo archivo.
  • Tiene Triggers y Vistas
  • Se puede agregar externamente User Defined Functions (UDF)
  • Soporta operaciones en memoria.
  • Posibilidad de usar 2 o más bases de datos en la misma consulta (ATTACH)

Contras:

  • Cuando se hace una operación de escritura, se bloquea la base.
  • Es typeless. Si bien se pueden definir tipos de datos, no hace ningún tipo de validación a la hora de insertar o actualizar datos.
  • No tiene Foreign Keys (se pueden emular con triggers)
  • No tiene un campo datetime (tiene un date y un time, pero no un campo que una ambos. Hay que usar varchar para estos casos).
  • No tiene ningún mecanismo de replicación y sincronización de datos.
  • El comando ALTER TABLE está limitado a RENAME TABLE y ADD COLUMN
  • No soporta ni RIGHT JOIN ni FULL JOIN.
  • No tiene Nested transactions (Transacciones en cadena)
  • No soporta INFORMATION_SCHEMA (usa sus propias funciones para inspeccionar la metadata).
  • Admite campos autonumericos, pero no permite setear el valor inicial del campo ni el valor del salto de incremento (Identity seed e Identity Increment en SQL Server, muy utiles a la hora de replicar).

SQL Server Compact Edition
Pros:

  • Es gratis (pero no Open Source)
  • Está integrado con el framework de sincronización, Sync Framework for ADO.NET. Lo que permite sincronizar datos entre una base embebida y una base SQL Server de manera casi trivial.
  • Tiene mecanismo de replicación nativo.
  • Hace validación de tipos y tiene mayor cantidad de tipos de datos que SQLite.
  • Se puede usar como IDE Visual Studio 2005/2008 o Management Studio de SQL Server
  • Soporta INFORMATION_SCHEMA

Contras:

  • Cuando se hace una operación de escritura, se bloquea la tabla.
  • No soporta operaciones en memoria.
  • No es multiplataforma (Solo funciona en Windows)
  • No tiene ni triggers ni vistas.
  • No soporta User Defined Functions (UDF)
  • No soporta RIGHT JOIN
  • No tiene Nested transactions (Transacciones en cadena)

4 comentarios »

  1. Te limitas a copiar las especificaciones y ya está?

    Comentario por usuario — febrero 2, 2010 @ 4:49 am

  2. Lo que dices de sqlite, no es cierto.
    Deberias documentarte bien, por ejemplo, desde la versión 3.19 soporta integridad referencial.

    Comentario por artus — enero 11, 2011 @ 3:46 pm

    • Hola, te Fijaste que el post es del 2008 antes de criticarlo?

      Comentario por Gabriel — mayo 21, 2011 @ 2:25 am

  3. y en la actualidad como esta, estas 2 aplicaciones me la pueden explicar……………….en la actualidad 2012

    Comentario por eder peñafiel — junio 26, 2012 @ 5:09 pm


RSS feed for comments on this post. TrackBack URI

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Crea un blog o un sitio web gratuitos con WordPress.com.

A %d blogueros les gusta esto: