richard07
Usuario (Argentina)
Buscando por la web hace unos dias me tope con esta tabla, abajo esta el link, me parecio muy interesante el tema que trata. Creo que es de suma importancia para aquellas personas que todavia tienen sus dudas con respecto a la migracion de Windows a Linux. Si sos una de esas personas te sera de utilidad o simplemente por mera curiosidad. Salu2 http://www.linuxrsp.ru/win-lin-soft/index-spanish.html
SQLite es una pequeña libreria en C que contiene en ella un completo sistema de gestion de bases de datos totalmente compatible con ACID (propiedad de una base de datos para realizar transacciones seguras). El proyecto de dominio publico y fue creado por D. Richard Hipp. En su version 3 SQLite permite bases de datos de hasta 2 Terabytes, si leyeron bien, algo increible para un aplicacion de tan solo 500 kb. La pagina oficial es http://www.sqlite.org/ aqui pueden buscar la informacion que deseen como asi tambien descargar la libreria. Me olvidaba para los que estan acostumbrados a la administracion visual aqui hay varias aplicaciones muy recomendables: * http://www.yunqa.de/delphi/doku.php/products/sqlitesp * http://sqlitebrowser.sourceforge.net/ * http://sqliteadmin.orbmu2k.de/ Luego de esta breve introduccion comenzare a explicar como podemos utilizarla con Java. Lo primero que debemos hacer es descargarnos el JDBC para SQLite, lo podemos conseguir aqui. Ahora bien este driver viene de dos formas diferentes: 100% puro de Java basado en NestedVM, lo que haces es proporcionar una traducción binaria de los bytecode de Java esto se logra teniendo un compilador GCC que crea un binario tipo MIPS y luego este es traducido a un archivo de clase Java. La otra forma es la nativa a traves de una libreria JNI, un JAR en definitiva que lo agregaremos a nuestro projecto esta es la manera que que utilizo personalmente. Lo que sigue es crear un projecto, abrimos el IDE de nuestra preferencia, el mio es NetBeans, y creamos un nuevo projecto. Dependiendo de la plataforma en que estemos trabajando deberemos agregar el libsqlitejdbc.so (linux) o el sqlitejdbc.dll (windows) en el directorio de librerias donde tengamos instalado Java. Ahora si estamos en condiciones de agregar el jar a nuestro projecto. Una vez realizado esto ya podemos implementar SQLite. Lo hacemos de esta forma: import java.sql.*; public class Test { public static void main(String[] args) throws Exception { Class.forName("org.sqlite.JDBC"); // Observen que test.db es la base de datos y se crea en el directorio de trabajo Connection conn = DriverManager.getConnection("jdbc:sqlite:test.db"); Statement stat = conn.createStatement(); stat.executeUpdate("drop table if exists people;"); stat.executeUpdate("create table people (name, occupation);"); PreparedStatement prep = conn.prepareStatement( "insert into people values (?, ?);"); prep.setString(1, "Gandhi"); prep.setString(2, "politics"); prep.addBatch(); prep.setString(1, "Turing"); prep.setString(2, "computers"); prep.addBatch(); prep.setString(1, "Wittgenstein"); prep.setString(2, "smartypants"); prep.addBatch(); conn.setAutoCommit(false); prep.executeBatch(); conn.setAutoCommit(true); ResultSet rs = stat.executeQuery("select * from people;"); while (rs.next()) { System.out.println("name = " + rs.getString("name")); System.out.println("job = " + rs.getString("occupation")); } rs.close(); conn.close(); } } Y eso es todo amigo, muy sencillo de utilizar y la verdad que SQLite posee una versatibilidad enorme. Existen una infinidad de aplicaciones que usan esta libreria y los posibles usos son infinitos. Fuentes * http://ifconfig.com.ar/programacion/sqlite-y-java/ * http://www.zentus.com/sqlitejdbc/ * http://sqlite-latino.blogspot.com/search/label/SQLite%20y%20Java * http://nestedvm.ibex.org/ * http://es.wikipedia.org/wiki/SQLite

Este post es simplemente una comparativa entre estos dos gestionadores de base de datos libres. Hay detalles que voy a omitir como la historia, las personas involucradas en el proyecto, etc ya que lo que pretendo hacer es una comparativa entre caracteristicas si desean aprender conocer estos datos simplemente con preguntarle a San Google bastara. Caracteristicas principales # Implementación del estándar SQL92/SQL99. # Licencia BSD. # Por su arquitectura de diseño, escala muy bien al aumentar el numero de CPUs y la cantidad de RAM. # Soporta transacciones y desde la version 7.0, claves ajenas (con comprobaciones de integridad referencial). # Tiene mejor soporte para triggers y procedimientos en el servidor. # Incorpora una estructura de datos array. # Incluye herencia entre tablas (aunque no entre objetos, ya que no existen), por lo que a este gestor de bases de datos se le incluye entre los gestores objeto-relacionales. # Implementa el uso de rollback's, subconsultas y transacciones, haciendo su funcionamiento mucho más eficaz. Si bien estas son una de las tantas caracteristicas que posee PostgreSQL siempre existen puntos en contra, hasta sus adversarios pagos los poseen. # Limite del tamaño de cada fila de las tablas a 8k (se puede ampliar a 32k recompilando, pero con un coste añadido en el rendimiento). # Es de 2 a 3 veces mas lenta que MySQL. # Posee menos funciones en PHP. Herramientas de Administración Si la consola es un problema estas son algunas de las herramientas de administración visual que posee PostgreSQL, personalmente recomiendo PgAdmin3. # PgAdmin3 # PgAccess # PhpPgAdmin # psql Caracteristicas principales # Lo mejor de MySQL es su velocidad a la hora de realizar las operaciones, lo que le hace uno de los gestores que ofrecen mayor rendimiento. # Consume muy pocos recursos ya sea de CPU como asi tambien de memoria. # Licencia GPL a partir de la version 3.23.19. # Dispone de API's en gran cantidad de lenguajes (C, C++, Java, PHP, etc). # Soporta hasta 32 índices por tabla. # Mejor integracion con PHP. # Permite la gestión de diferentes usuarios, como también los permisos asignados a cada uno de ellos. Como ya mencione antes todo programa tiene sus puntos ocuros y MySQL no es la excepcion. # No soporta transacciones, "roll-backs" ni subselects. Esto se puede convertir en un terrible dolor de cabeza en sistemas con muchas tablas relacionadas. # No considera las claves ajenas. Ignora la integridad referencial, dejandola en manos del programador de la aplicacion. Aunque sí admite la declaración de claves ajenas en la creación de tablas, internamente no las trata de forma diferente al resto de campos. Herramientas de Administración # phpMyAdmin # MySQL Administrator # PCCS MySQL Database Admin Tool Conclusión La pregunta del millon seria ¿Cual gestor de base de datos es mejor?. Y la respuesta para mi es ninguno, se preguntaran ¿por qué? ambos gestores son exelentes pero si uno quiere migrar desde Oracle, Sybase, o Microsoft SQL Server, la mejor alternativa es PostgreSQL aunque para el desarrollo Web y otro tipo de aplicaciones en las que la rapidez de respuesta y el bajo consumo de recursos es indispensable, lo mejor es MySQL. Cada uno de estos gestores poseen caracteristicas que los convierten en una gran opción en su respectivo campo al momento de eljir ya que fueron concebidos para una determinada implementación. Creo que antes de elejir un gestor de bases de datos la pregunta correcta que debemos hacernos es ¿velocidad o potencia?. Esto facilitara mucho la elección. Espero que le sea de utilidad. Las fuentes no las pongo ya que la mayoria de la información son conocimientos propios adquiridos con el tiempo.