Bases de Datos Embebidas Java: Comparación de Rendimiento

Bases de datos embebidas

Se trata de bases de datos que carecen de servidor, están inscrustadas en la propia aplicación y suelen estar almacenadas en ficheros locales. Esto último unido a que suelen tener un modo de funcionamiento en el que mantienen los datos en memoria hace que puedan tener un rendimiento muy alto.

Eso sí, este gran grado acoplamiento a la aplicación, hace que tengan peor rendimiento cuando se comparten entre varias aplicaciones debido a colisiones de acceso.

Otra ventaja es que no tenemos que encargarnos de mantener y gestionar un servidor de bases de datos.

Voy a hacer una comparativa de rendimiento entre 3 bases de datos embebidas ACID (transaccionales), las NoSQL no entran en esta comparativa que están en otra liga de rendimiento.

Leer más…

Distintas formas de serialización en Java: Comparación de rendimiento

Hace poco, he tenido que serializar/deserializar unos datos en Java, hacía mucho que no lo hacía en formato binario directamente (ultimamente he utilizado JSON o XML). Recordaba haber serializado objetos implementando el interfaz Serializable, pero había visto por Internet otra forma implementando el interfaz Externalizable, ¿cuál interfaz utilizo? Pues depende lo que quieras y necesites, como todo.

Leer más…

Mutex C++

En C++11 se han introducido muchas mejoras que nos ayudan a desarrollar sistemas multi-hilo. Voy a centrarme en los mutex.

En las versiones anteriores a C++11 una forma de obtener un mutex es el que nos proporciona la librería pthread, pero para utilizarlo debíabos inicializarlo y destruirlo en estilo C, en definitiva, tienes que hacer algo más que lock/unlock cada vez que trabajas con un mutex.

C++11 nos proporciona una clase mutex, que nos abstrae de cosas que no son lock/unclock. Os recomiendo que echéis un vistazo y veáis lo limpio que queda el código: Clase mutex de C++11.

Si sigues trabajando con versiones de compiladores previos a C++11, hace tiempo me hice un wrapper que te ayuda a abstraerte del mutex de pthread, lo dejo aquí abajo por si a alguien le resulta útil.

Abajo está un Gist del Código, he vuelto a escribir el código de cabeza y puede ser que haya algún error, lo revisaré, pero lo importante es la idea de hacer una clase que envuelva la inicialización del mutex de pthread.

Leer más…