miércoles, 23 de octubre de 2019

MONGODB


MongoDB (del inglés humongous, "enorme") es un sistema de base de datos NoSQLorientado a documentos de código abierto.
En lugar de guardar los datos en tablas, tal y como se hace en las bases de datos relacionales, MongoDB guarda estructuras de datos BSON (una especificación similar a JSON) con un esquema dinámico, haciendo que la integración de los datos en ciertas aplicaciones sea más fácil y rápida.
MongoDB es una base de datos adecuada para su uso en producción y con múltiples funcionalidades. Esta base de datos se utiliza mucho en la industria, contando con implantaciones en empresas como MTV Network, Craiglist, BCI o Foursquare.
El código binario está disponible para los sistemas operativos WindowsGNU/LinuxOS X y Solaris.
CARACTERÍSTICAS 

CARACTERÍST

  • Consultas ad hoc
Editar

MongoDB soporta la búsqueda por campos, consultas de rangos y expresiones regulares. Las consultas pueden devolver un campo específico del documento pero también puede ser una función definida por el usuario para su mejor ocupacion.JavaScript


IndexaciónEditar

Cualquier campo en un documento de MongoDB puede ser indexado, al igual que es posible hacer índices secundarios. El concepto de índices en MongoDB es similar al empleado en base de datos relacionales..

  • Replicación
Editar

MongoDB soporta el tipo de replicación primario-secundario. Cada grupo de primario y sus secundarios se denomina replica set.​ El primario puede ejecutar comandos de lectura y escritura. Los secundarios replican los datos del primario y sólo se pueden usar para lectura o para copia de seguridad, pero no se pueden realizar escrituras. Los secundarios tienen la habilidad de poder elegir un nuevo primario en caso de que el primario actual deje de responder.

  • Balanceo de carga
Editar

MongoDB puede escalar de forma horizontal usando el concepto de [shard. El desarrollador elige una clave de sharding, la cual determina cómo serán distribuidos los datos de una colección. Los datos son divididos en rangos (basado en la clave de sharding) y distribuidos a través de múltiples shard. Cada shard puede ser una réplica set. MongoDB tiene la capacidad de ejecutarse en múltiple servidores, balanceando la carga y/o replicando los datos para poder mantener el sistema funcionando en caso que exista un fallo de hardware. La configuración automática es fácil de implementar bajo MongoDB y se pueden agregar nuevas servidores a MongoDB con el sistema de base de datos funcionando.
VENTAJAS
  • Mongo DB tiene la capacidad de realizar consultas utilizando javascript, haciendo que estas sean enviadas directamente a la base de datos para ser ejecutada.
  • Se utiliza un sistemas de archivos, ya que cuenta con la capacidad para balancear la carga y recopilación de datos utilizando múltiples servidores para almacenamiento de archivo.el des-arrollador elige una llave shard(clave).
  • La configuración automática, se puede agregar nuevas maquinas a mongo DB con el sistema de base corriendo.

DESVENTAJAS
  • mongo DB bloquea la base de datos cada vez que se realiza un escritura, lo que reduce la concurrencia dramáticamente. 
  • Retorna cuando no se a escrito la información en el espacio de almacenamiento permanente, puede ocasionar perdida de información.
  • Cambia el valor por defecto para escribir al menos una replica, pero esto sigue sin satisfacer la durabilidad ni la verificabilidad. tiene problemas de rendimiento cuando el volumen de datos supera los 100GB.
¿CÓMO INSTALAR MONGODB?

BASE DE DATOS NO RELACIONALES

Las bases de datos NoSQL están diseñadas específicamente para modelos de datos específicos y tienen esquemas flexibles para crear aplicaciones modernas. Las bases de datos NoSQL son ampliamente reconocidas porque son fáciles de desarrollar, su funcionalidad y el rendimiento a escala. Usan una variedad de modelos de datos, que incluyen documentos, gráficos, clave-valor, en-memoria y búsqueda. Esta página incluye recursos para ayudarlo a comprender mejor las bases de datos NoSQL y comenzar a usarlas.
¿Cómo funciona una base de datos NoSQL (no relacionales)?

Las bases de datos NoSQL utilizan una variedad de modelos de datos para acceder y administrar datos, como documentos, gráficos, clave-valor, en-memoria y búsqueda. Estos tipos de bases de datos están optimizados específicamente para aplicaciones que requieren grandes volúmenes de datos, baja latencia y modelos de datos flexibles, lo que se logra mediante la flexibilización de algunas de las restricciones de coherencia de datos en otras bases de datos.

ORACLE

HISTORIA


Oracle Corporation es una compañía especializada en el desarrollo de soluciones de nube y locales. Oracle tiene su sede en la localidad californiana de Redwood City, Estados Unidos. Según la clasificación correspondiente al año 2006, ocupa el primer lugar en la categoría de las bases de datos y el séptimo lugar a nivel mundial de las compañías de tecnologías de la información. La tecnología Oracle se encuentra prácticamente en muchas industrias del mundo y en las oficinas de 98 de las 100 empresas Fortune 100.





Oracle (Nasdaq: ORCL) es la primera compañía de software de estereotipos que desarrolla e implementa aplicaciones para empresas cien por ciento activado por Internet a través de toda su línea de productos: base de datos, aplicaciones comerciales y herramientas de desarrollo de aplicaciones y soporte de decisiones. Oracle es el proveedor mundial de software para administración de información a lo largo de todo el mundo, muy por delante de la segunda de su segmento, Software AG.


VENTAJAS


  • Oracle es el motor de base de datos objeto-relacional más usado a nivel mundial.
  • Puede ejecutarse en todas las plataformas, desde una Pc hasta un supercomputador.
  • Oracle soporta todas las funciones que se esperan de un servidor "serio": un lenguaje de diseño de bases de datos muy completo (PL/SQL) que permite implementar diseños "activos", con triggers y procedimientos almacenados, con una integridad referencial declarativa bastante potente.
  • Permite el uso de particiones para la mejora de la eficiencia, de replicación e incluso ciertas versiones admiten la administración de bases de datos distribuidas.
  • El software del servidor puede ejecutarse en multitud de sistemas operativos.

DESVENTAJAS

  • Las versiones más recientes de Oracle son la 11g, 10g, 9g, 8g, desde el lanzamiento original de la 8 se sucedieron varias versiones con correcciones, hasta alcanzar la estabilidad en la 8.0.3.
  •  El motivo de tantos fallos fue, al parecer, la remodelación del sistema de almacenamiento por causa de la introducción de extensiones orientadas a objetos.
  • El mayor inconveniente de Oracle es quizás su precio. Incluso las licencias de Personal Oracle son excesivamente caras, en mi opinión. Otro problema es la necesidad de ajustes. 
  • Un error frecuente consiste en pensar que basta instalar el Oracle en un servidor y enchufar directamente las aplicaciones clientes. 
  • Un Oracle mal configurado puede ser desesperantemente lento.También es elevado el coste de la información, y sólo últimamente han comenzado a aparecer buenos libros sobre asuntos técnicos distintos de la simple instalación y administración.


INTRODUCCIÓN A ORACLE

Es un manejador de base de datos relacional que hace uso de los recursos del sistema informático en todas las arquitecturas de hardware, para garantizar su aprovechamiento al máximo en ambientes cargados de información.


Es el conjunto de datos que proporciona la capacidad de almacenar y acudir a estos de forma recurrente con un modelo definido como relacional. Además es una suite de productos que ofrece una gran variedad de herramientas.


Es el mayor y mas usado Sistema Manejador de Base de Dato Relacional (RDBMS) en el mundo. La Corporación Oracle ofrece este RDBMS como un producto incorporado a la línea de producción. Además incluye cuatro generaciones de desarrollo de aplicación, herramientas de reportes y utilitarios.


Oracle corre en computadoras personales (PC), microcomputadoras, mainframes y computadoras con procesamiento paralelo masivo. Soporta unos 17 idiomas, corre automáticamente en más de 80 arquitecturas de hardware y software distinto sin tener la necesidad de cambiar una sola línea de código. Esto es porque más el 80% de los códigos internos de Oracle son iguales a los establecidos en todas las plataformas de sistemas operativos.

CARACTERÍSTICAS
El software del servidor puede ejecutarse en multitud de sistemas operativos.Existe incluso una versión personal para Windows 9x, lo cual es un punto a favor para los desarrolladores que se llevan trabajo a casa.Oracle es la base de datos con más orientación hacía INTERNET.

CÓMO CREAR UNA BASE DE DATOS EN ORACLE 


En el  presente artículo compartiremos los pasos necesarios para crear una base de datos Oracle en la nube. Crearemos un servicio de base de datos, luego una segunda base de datos en la misma máquina, pero en modo silencioso (“silent mode”), accederemos a la máquina en la nube utilizando SSH y finalmente realizaremos el monitoreo de las bases de datos utilizando OEM.


Antes que nada debemos asegurarnos de tener una cuenta Oracle. Si es que aún no la tenemos, ingresamos a oracle.com, hacemos click en el link “Register” y seguimos los pasos necesarios para crear una cuenta gratuita.


Posteriormente, abrimos el link cloud.oracle.com, seleccionamos la opción “Compute” en el menú “Infrastructure” y hacemos click en el botón “Try It” para obtener una cuenta gratuita de prueba en Oracle Cloud por un periodo de 30 días.


Ya estamos en condiciones de ingresar con nuestra cuenta Oracle y  registrarnos para obtener una cuenta de Oracle Cloud. Debemos tomar la precaución de no utilizar una dirección de correo genérica como Hotmail, Gmail, etc. sino el proceso no se completará con éxito. La manera correcta de hacerlo sería utilizarpara el registro una cuenta de correos corporativa.


Luego de completar satisfactoriamente el registro, recibiremos un email conteniendo nuestras credenciales de acceso. Hacemos click en el link indicado en el email, proporcionamos nuestro nombre de usuario y contraseña e ingresamos a nuestra cuenta de Oracle Cloud.


Una vez dentro del portal, accedemos al link “Oracle Database Cloud Service”.






Hacemos click en el link “My Services” para acceder a la lista de servicios en la nube Oracle que disponemos.






Si todavía no hemos iniciado sesión, nos aparecerá la página para hacerlo. Debemos utilizar el nombre de usuario y contraseña proporcionada en el correo electrónico que recibimos durante la fase de registro.






Luego de ingresar, nos aparecerá el panel de control (“dashboard”) de “Oracle Cloud Services”






Para crear y administrar instancias de base de datos, debemos ingresar al menú “Open Service Console” de la pestaña de base de datos tal como podemos ver aquí abajo:






En esta página obtendremos el listado de los servicios de base de datos creados. En nuestro ejemplo, vemos ya creados dos servicios de base de datos: myfirstdb y myseconddb,ambos con un aprovisionamiento de 7.5 GB de memoria y 150 GB de almacenamiento.






A continuación, vamos a eliminar estos dos servicios. Para ello hacemos click en la opción “Delete” del menú desplegable de cada uno de ellos.






Luego de eliminar satisfactoriamente las instancias que teníamos disponibles, vamos a crear una nueva. Esto lo realizamos presionando el botón “Create Service”:






Seleccionamos la opción “Oracle Database Cloud Service” para crear una base de datos usando un asistente (“wizard”). Podemos optar por dos tipos de frecuencias de facturación distintas: Por hora y mensual (Hourly and Monthly). Claramente esto no tiene sentido en nuestro ejemplo ya que estamos utilizando una cuenta de prueba. Por tal motivo, seleccionamos cualquiera de estos modos y hacemos click en el botón “Next”.






Para la selección del “release” del software disponemos de 3 opciones: 11.2, 12.1 and 12.2.


Elegimos alguna de ellas y continuamos con un click en “Next”.






Para la edición (“edition”) del software tenemos 4 opciones:


Standard EditionEnterprise EditionEnterprise Edition – High PerformanceEnterprise Edition – Extreme Performance


Si queremos obtener más información y características de cada una de las ediciones disponibles podemos revisar la siguiente documentación:


Home / Cloud / Oracle Database Cloud Service/ Using Oracle Database Cloud Service/ About Database Cloud Service Database Deployments/ Oracle Database Software Package


https://docs.oracle.com/cloud/latest/dbcs_dbaas/CSDBI/GUID-660363B8-0E2F-4A4F-A9BD-70A43F332A16.htm#GUID-6C0B1E17-98A5-4522-A3B9-36EFA05E64F9


Para nuestro ejemplo seleccionamos la opción “Enterprise Edition” y hacemos click en “Next” para continuar:






En la siguiente página se nos pedirá que proporcionemos una llave SSH publica (“SSH public key”) para nuestro servicio en la nube. Antes de continuar, vamos a generar entonces esta llave utilizando la herramienta “Putty Key Generator” (free).


Descargamos el utilitario (si es que aún no lo tenemos) y lo abrimos. Luego hacemos click en el botón “Generate”,  movemos el ratón sobre la superficie en blanco para generar alguna acción,  y de esta manera se generará la clave:






Proporcionamos una contraseña (“passphrase”) y presionamos el botón “Save private key” para guardar esta clave como una llave privada.







Para guardar la clave como llave pública, copiamos el texto y lo almacenamos en un archivo de texto (en nuestro caso utilizamos el nombre mypublickkey.pub).










Luego seleccionamos este archivo en el campo “SSH Public Key” del asistente de creación de servicio de base de datos.






Indicamos además un nombre para el servicio, el espacio de almacenamiento para la base de datos, la unidad de computación necesaria y luego hacemos click en “Next” para continuar.






Revisamos finalmente la información proporcionada y presionamos el botón " Create” para crear el servicio.






Haciendo click en el enlace “In Progress” podemos verificar el avance del proceso de creación.






Luego de unos minutos, el servicio debería haberse creado sin problemas.







Accedemos entonces al link “proddb” para abrir la página de nuestro nuevo servicio.




martes, 22 de octubre de 2019

SQL SERVER

       

¿QUÉ ES SQL SERVER?
SQL Server es un sistema de gestión de bases de datos relacionales (RDBMS) de Microsoft que está diseñado para el entorno empresarial. SQL Server se ejecuta en T-SQL (Transact -SQL), un conjunto de extensiones de programación de Sybase y Microsoft que añaden varias características a SQL estándar, incluyendo control de transacciones, excepción y manejo de errores, procesamiento fila, así como variables declaradas.
ORIGEN
Bajo el nombre código Yukon en su etapa de desarrollo, SQL Server 2005 fue lanzado en noviembre de 2005. Se dice que el producto 2005 proporcionó una mayor flexibilidad, escalabilidad, confiabilidad y seguridad a las aplicaciones de base de datos, y permitió que fueran más fáciles de crear y desplegar, lo que reduce la complejidad y el tedio involucrado en la gestión de bases de datos. SQL Server 2005 también incluía más soporte administrativo.
El código original de SQL Server ha sido desarrollado por Sybase; a finales de 1980, Microsoft, Sybase y Ashton-Tate colaboraron para producir la primera versión del producto, SQL Server 4.2 para OS/2. Posteriormente, tanto Sybase como Microsoft ofrecieron productos de SQL Server. Sybase cambió después el nombre de su producto a Adaptive Server Enterprise.
CARACTERÍSTICAS
VENTAJAS     
  • Es un sistema de gestión de base de datos. 
  • Es útil para manejar y obtener datos de la red de redes.
  • Nos permite olvidarnos de los ficheros que forman la base de datos.
  • Si trabajamos en una red social nos permite agregar otros servidores de SQL Server. Por ejemplo dos personas que trabajan con SQL Server, uno de ellos se puede conectar al servidor de su otro compañero y así se puede ver las bases de datos del otro compañero con SQL Server.
  • SQL permite administrar permisos a todo. También  permite que  alguien conecte su SQLO al nuestro pero sin embargo podemos decirle que no puede ver esta base de datos pero otro si. 
DESVENTAJAS 
  • Desde la versión de SQL Server 2012 las consultas escritas en T-SQL no son retrocompatible con la versión de SQL Server 2008 o anteriores.
  • En versiones de 32 bits, SQL Server usa Address Windowing Extension (AWE) para hacer el direccionamiento por encima de 4 GB. Esto le impide usar la administración dinámica de memoria, y sólo le permite alojar un máximo de 64 GB de memoria compartida. Esta limitación es exclusiva de sistemas operativos 32 bits; en sistemas operativos 64 bits, la memoria máxima que se puede direccionar en Edición Estándar es 64 Gb y en Edición Enterprise 4TB.
PLATAFORMAS 
Microsoft SQL Server incluye interfaces de acceso para varias plataformas de desarrollo, entre ellas .NET, pero el servidor sólo está disponible para Sistemas Operativos.

¿Cómo utilizar SQL SERVER?
1. Hay variaciones de SQL, pero los motores de bases de datos más utilizados hoy en dia cumplen la norma ANSI SQL99, y muchas empresas han implementado características propias que enriquecen el lenguaje (en el caso de Microsoft T-SQL o Transact-SQL, en el de Oracle su versión es PL/SQL).

2. Esto se trata de manejar datos. Para extraerlos de la base de datos, utilizaremos la instrucción SELECT.

3. Un ejemplo sencillo sería algo como:‘SELECT * FROM listaDeCD’, el cual obtendría todas las columnas (ahí es donde entra en juego el asterisco) y filas de la tabla ‘listaDeCD’.
4. Las consultas normalmente son más complicadas. El SELECT puede usarse para obtener ciertas columnas y filas de la tabla, e incluso cruzar datos de múltiples tablas o de bases de datos enteras.
5. Si queremos filtrar las filas devueltas por la sentencia SELECT, se necesitará la consulta WHERE para definir la condición. ‘SELECT * FROM listaDeCD WHERE CDid = 27’ devolverá las filas donde el campo CDid sea igual a 27. O ‘SELECT * FROM listaDeCD WHERE nombreCD LIKE 'Dark Side%' utiliza un comodín que significa, en este caso, que devolverá todos los CD cuyo nombre empiece por “Dark Side”.
6. INSERT y UPDATE son las instrucciones utilizadas para añadir o cambiar datos en una base de datos.


8. La sentencia DELETE es utilizada para borrarlos.