35 motores de Bases de Datos Open Source

Fantástico el artículo que han preparado en WebResourcesDepot en el cual nos hablan de las grandes posibilidades que tenemos a la hora de elegir un motor de base de datos en el terreno Open Source.

Como indican en el artículo, probablemente conozcáis las principales alternativas (algunas de ellas comerciales):

Como indican en ese texto, es normal que dichas opciones estén tan extendidas: están muy bien documentadas, hay una gran comunidad de usuarios detrás de todas ellas y están muy integradas con la mayoría de CMS del mercado, además de estar disponibles en las principales empresas de hosting. Pero hay todo un mundo de posibilidades que va más allá de esas opciones.

Lo demuestra el citado artículo, del que simplemente haré una adaptación y que os recomiendo visitar. Las 35 alternativas Open Source en este terreno son las siguientes, y antes de nada, permitidme que me disculpe por la traducción. No estoy familiarizado con muchos de los términos que se manejan en el artículo, así que puede que haya metido la pata en alguna descripción:

MongoDB

MongoDB

Es una base de datos Open Source de gran rendimiento, escalable, schema-free (creo que esto se refiere a que no es una base de datos relacional convencional, aunque no estoy del todo seguro) y orientada a documentos (esquemas de datos tipo JSON). Hay drivers preparados para usar esta base de datos desde lenguajes como PHP, Python, Perl, Ruby, JavaScript, C++ y muchos más.

Hypertable

Hypertable

Hypertable es un sistema de almacenamiento distribuido de datos de alto rendimiento diseñado para soportar aplicaciones que requieran máximo rendimiento, escalabilidad y eficiencia. Se ha diseñado y modelado a partir del proyecto BigTable de Google y se enfoca sobre todo a conjuntos de datos de gran escala.

Apache CouchDB

Apache  CouchDB

Como en el caso de MongoDB, este proyecto está destinado a ofrecer una base de datos orientada a documentos que se pueden consultar o indexar en modo MapReduce usando JavaScript. CouchDB ofrece una API JSON RESTful a la que se puede acceder desde cualquier entorno que soporte peticiones HTTP.

Neo4j

Neo4j Graph  Database

Es un motor de persistencia completamente transaccional en Java que almacena los datos mediante grafos, y no mediante tablas. Neo4j ofrece una escalabilidad masiva. Puede manejar grafos de varios miles de millones de nodos/relaciones/propiedades en una única máquina, y se puede escalar a lo largo de múltiples máquinas.

Riak

Riak

Riak es una base de datos ideal para aplicaciones web y combina:

  • Una tienda con un valor clave descentralizado
  • Un motor map/reduce flexible
  • Una interfaz de consultas HTTP/JSPN amigable.

Oracle Berkeley DB

Oracle Berkeley DB

Se trata de un motor de bases de datos embebidas que proporciona a los desarrolladores persistencia local, rápida y eficiente con una administración nula. Oracle Berkeley DB es una librería que se enlaza directamente en nuestras aplicaciones y permite realizar llamadas simples a funciones en lugar de enviar mensajes a un servidor remoto para mejorar el rendimiento.

Apache Cassandra

Apache Cassandra

Cassandra es probablemente uno de los proyectos NoSQL más concoidos del mercado. Se trata de una base de datos distribuida de segunda generación con alta escalabilidad que está siendo usada por gigantes como Facebook (que es quien la ha desarrollado), Digg, Twitter, Cisco y más empresas. El objetivo es ofrecer un entorno consistente, tolerante a fallos y de alta disponibilidad a la hora de almacenar datos.

Memcached

Memcached

Memcached es un almacen del tipo in-memory key-value para pequeñas cadenas de datos arbitrarios (textos, objetos) de resultados de llamadas a base de datos, llamadas a API, o renderizado de páginas. Está orientado a acelerar aplicaciones web dinámicas al aliviar la carga de la base de datos.

Firebird

Firebird

Firebird -no confundir con Firefox- es una base de datos relacional que puede ser utilizada en Linux, Windows y varias plataformas UNIX, y ofrece un alto rendimiento y potente soporte de lenguajes para procedimientos almacenados y triggers.

Redis

Redis

Redis es una base de datos avanzada del tipo fast key-value  que está escrita en C y quese puede usar como memcached, por delante de una base de datos tradicional, o bien por sí sola de forma independiente. Tiene soporte para varios lenguajes de programación y se utiliza en proyectos muy populares como GitHub o Engine Yard. También hay un cliente PHP llamado Rediska que permite gestionar bases de datos Redis.

HBase

Hadoop HBase

HBase es u almaceén distribuido del tipo column-oriented que puede ser también denominado como la base de datos Hadoop. El proyecto está dirigido a ofrecer tablas enormes de “miles de millones de filas, y millones de columnas”. Dispone de un gateway RESTful que soporta XML, Protobug y opciones de codificación binaria de datos.

Keyspace

Keyspace

Se trata de un almacén del tipo key-value con replicación consistente y que funciona sobre sistemas operativos Windows. Keyspace ofrece una alta disponibilidad al enmascarar los fallos de servidor y red y al aparecer como un único servicio de alta disponibilidad.

4store

4store

4store es un motor de almacenamiento de bases de datos y de consultas que mantiene datos en formato RDF. Está escrito en ANSI C99, está diseñado para funcionar en sistemas UNIX y ofrece una plataforma de alto rendimiento, escalable y estable.

MariaDB

MariaDB

MariaDB es una rama compatible hacia atrás de MySQL® Database Server. Incluye soporte para la mayoría de los motores de almacenamiento Open Source, y además para el propio motor de almacenamiento Maria.

Drizzle

Drizzle

Es un fork de MySQL que se centra en ser una base de datos eficiente y estable, sobre todo optimizada para aplicaciones de Internet y que siguen la filosofía Cloud Computing.

HyperSQL

HyperSQL

Es un motor de bases de datos relacionales SQL escrito en Java. HyperSQL ofrece un pequeño pero veloz motor de bases de datos que dispone de tablas in-memory y basadas en disco, y que soporta los modos embebido y servidor. Además, dispone de herramientas como una consola de comandos SQL y una interfaz gráfica para las consultas.

MonetDB

MonetDB

MonetDB es un sistema de bases de datos para aplicaciones de alto rendimiento dirigidas a la minería de datos, OAP, GIS, búsquedas XML, y recolección de información a partir de ficheros de texto y multimedia.

Persevere

Persevere

Es un motor de almacenamiento de objetos y un servidor de aplicaciones (ejecutándose en Java/Rhino) que ofrece almacenamiento de datos dinámicos JSON para el desarrollo rápido de aplicaciones de Internet orientadas a datos y basadas en JavaScript.

eXist-db

eXist-db

eXist-db está desarrollada a través de la tecnología XML. Almacena datos CML según el modelo de datos de este estándar, y se caracteriza por un procesado eficiente y basado en índices de XQuery.

Otras alternativas

Fuentes

Fuentes Original

Conectarse a una base de datos de SQL Server y llenar un datagridview sin escribir código.

Hoy quiero mostrarles un sencillo ejemplo de como conectarse a SQL Server y llenar un DataGridView, pero sin escribir ni una sola línea de código. Es decir que haremos todo arrastrando y soltando controles con visual studio.

1.- Debemos tener abierto el panel del explorador de servidores. Si no lo tienes puedes activarlo desde el menú VER / Explorador de Servidores, o con la combinación de teclas rápidas Ctrl + Alt + S. Deberías verlo como en la images 1.

Sincodigo01Seguir leyendo

Conectarse con base SQL Server y Llenar DataGridView

En esta oportunidad vamos a ver como, de forma muy sensilla y con muy poco código, podemos establecer una conexión con un servidor de SQL Server, en mi caso SQL Server Express 2005,  y luego de recuperar los datos de una de las tablas para llenar con ellos un DataGridView.

Lo primero que hay que hacer es importar dos espacios de nombres como muestro a continuación: Seguir leyendo

Consulta SQL Server para Conocer las Tablas y Vistas de una Base de Datos

En Sql Server tenemos una sencilla consulta que nos devolverá las tablas y vistas de una base de datos:

SELECT * from Information_Schema.Tables

De aquí nos interesa el campo table_name (nombre de la tabla) y table_type (nos dice si es una tabla o una vista). Por tanto, filtrar por tablas o vistas es bastante sencillo (con el campo table_type).

Para saber si existe una tabla en la base de datos (también nos sirve para las vistas) podemos utilizar la siguiente consulta (vamos a consultar si en Northwind existe la tabla ‘Customers’):

SELECT * from Information_Schema.Tables where table_name=’Customers’

Si esta consulta nos devuelve registros es que existe la tabla (o vista) y si nos devuelve vacío, es que no existe.

Reducir los logs de una base de datos en Sql Server

Comienzas a trabajar con una base de datos y claro, crece, crece, crece… y cuando te quieres dar cuenta, los logs ocupan varios gigas en tu disco duro. Y claro, ¿hay alguna manera de reducir esos logs y recuperar ese espacio en disco? La respuesta es ejecutar la siguiente consulta sql:

CHECKPOINT
BACKUP LOG NORTHWIND WITH TRUNCATE_ONLY
DBCC SHRINKDATABASE (NORTHWIND, TRUNCATEONLY )

Lo que hacemos primero es un checkpoint, es decir, terminamos todo lo que tengamos pendiente para no dejar información colgada. Luego, ejecutamos el backup y el dbcc shrinkdatabase, que será el encargado de reducir esos logs y recuperar esos gigas de tu disco duro.

Asistente para Migración de Oracle a SQL Server

Microsoft ha publicado la nueva versión de la herramienta SSMA o SQL Server Migration Assistant for Oracle v3.0 son un conjunto de herramientas o utilidades que permitirán o facilitarán la migración de bases de datos Oracle a SQL Server 2005, reduciendo tiempos, costes y esfuerzos.SSMA no obstante, está diseñado para trabajar con bases de datos Oracle 7.3 o superior, y con SQL Server 2005 exceptuando la versión Express Edition.

su tamaño es de unos 4.6 Mb

 

ServerSQL Server Migration Assistant for Oracle V3.1