miércoles, 31 de enero de 2018

Esquemas de un procesador


Resumen vídeo qué es FireBird

FireBird es una RDMS - Relational Database Management System (Sistema de bases de datos relacional)
En comparación a otros SGBD, FireBird es de codigo abierto, mismo que cuenta con MPL (Mozilla Public License). Puede ser usada tanto para bases de datos pequeñas tanto como para bases de datos para grandes empresas. CPEV - Costo Potencia Estabilidad Potencia. Nos permite trabajar con procedimientos o rutinas, los triggers son dispiradores que se utilizan para auditar la BD y son importantes porque ahí se refleja todo lo que sucede en nuestra base de datos, son algo así como una bitacora. 100% ACID - Automicity (Atómico) Consistency (Consistente) Isolation (aislamiento) Durability (Durabilidad). Arquitectura multigeneracional. Conectividad con:

  • * Nativo API
  • * DBExpress
  • * ODBC
  • * OLDB
  • * .Net
  • * JDBC
  • * Phyton

Lo podemos encontrar:

  • Classic Server (Un proceso por conección)
  • Super Server (proceso único para cada conección)
  • Embebed (portable)


viernes, 26 de enero de 2018

Registros de proposito general

Los registros del procesador se emplean para controlar instrucciones en ejecución, manejar direccionamiento de memoria y proporcionar capacidad aritmética. Los registros son direccionables por medio de un nombre. Los bits por convención, se numeran de derecha a izquierda, como en:

… 12 11 10 9 8 7 6 5 4 3 2 1 0


Los registros de propósito general AX, BX, CX y DX son únicos en el sentido de que se puede direccionarlos como una palabra o como una parte de un byte. El ultimo byte de la izquierda es la parte “alta”, y el ultimo byte de la derecha es la parte “baja”. Por ejemplo, el registro CX consta de una parte CH (alta) y una parte Cl (baja), y usted puede referirse a cualquier parte por su nombre.

Registro AX. El registro AX, el acumulador principal, es utilizado para operaciones que implican entrada/salida y la mayor parte de la aritmética. Por ejemplo, las instrucciones para multiplicar , dividir y traducir suponen el uso del AX. También, algunas operaciones generan código mas eficiente si se refieren al AX en lugar de a los otros registros.
Registro BX. El BX es conocido como el registro base ya que es el único registro de propósito general que puede ser índice para direccionamiento indexado. También es común emplear el BX para cálculos.
Registro DX. El DX es conocido como l registro de datos. Alguna operaciones de entrada/salida requieren uso, y las operaciones de multiplicación y división con cifras grandes suponen al DX y al AX trabajando juntos.

Tema 1.2.- Análisis de los manejadores de bases de datos

El sistema manejador de bases de datos es la porción más importante del software de un sistema de base de datos. Un DBMS es una colección de numerosas rutinas de software interrelacionadas, cada una de las cuales es responsable de alguna tarea específica para permitir su uso de una manera segura, sencilla y ordenada. Se trata, en suma, de un conjunto de programas que realizan tareas de forma interrelacionada para facilitar la construcción y manipulación de bases de datos, adoptando la forma de interfaz entre éstas, las aplicaciones y los mismos usuarios.

Gestores de bases de datos de paga

MySQL:
es un sistema de gestión de base de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones. MySQL AB —desde enero de 2008 una subsidiaria de Sun Microsystems y ésta a su vez de Oracle Corporation desde abril de 2009— desarrolla MySQL como software libre en un esquema de licenciamiento dual.Por un lado se ofrece bajo la GNU GPL para cualquier uso compatible con esta licencia, pero para aquellas empresas que quieran incorporarlo en productos privativos deben comprar a la empresa una licencia específica que les permita este uso. Está desarrollado en su mayor parte en ANSI C. Al contrario de proyectos como Apache, donde el software es desarrollado por una comunidad pública y el copyright del código está en poder del autor individual, MySQL es patrocinado por una empresa privada, que posee el copyright de la mayor parte del código.

FileMaker: FileMaker Pro es una aplicación multiplataforma (Windows y Mac) de base de datos relacional de FileMaker Inc. (una subsidiaria de Apple Inc.). FileMakerintegra el motor de la base de datos con la interfaz, lo que permite a los usuarios modificar la base de datos al arrastrar elementos (campos, pestañas, botones...) a las pantallas o formas que provee la interfaz.FileMaker evolucionó de una aplicación de MS-DOS, que se desarrolló primariamente para Apple Macintosh. Desde 1992 está disponible para Microsoft Windows y se puede utilizar como un ambiente heterogéneo. FileMaker está disponible para desktop, servidor y configuraciones web. La característica que define a FileMaker es que el motor de la base de datos está integrado con las vistas (pantallas, reportes, etc.) que se utilizan para acceder a él. La mayoría de las bases de datos separan estos elementos y se concentran primariamente en la organización y almacenamiento de datos.

Advantage Database: Ofrece una ruta de crecimiento para las aplicaciones de bases de datos integradas, que permite que las aplicaciones utilicen conjuntos de funciones de nivel empresarial. Los desarrolladores que utilizan Advantage Database Server tienen la flexibilidad de utilizar varias plataformas y diferentes lenguajes de desarrollo con controladores nativos. Requiere poco o nada de mantenimiento

dBase: BASE fue el primer Sistema de gestión de base de datos usado ampliamente para microcomputadoras, publicado por Ashton-Tate para CP/M, y más tarde para Apple II, Apple Macintosh, UNIX, VMS, e IBM PC bajo DOS donde con su legendaria versión III Plus se convirtió en uno de los títulos de software más vendidos durante un buen número de años.dBASE nunca pudo superar exitosamente la transición a Microsoft Windows y terminó siendo desplazado por productos más nuevos como Paradox, Clipper, y FoxPro. Incorporaba un lenguaje propio interpretado y requería un LAN PACK para funcionar sobre red local. En 1988 llegó finalmente la versión IV. dBASE fue vendido a Borland en 1991. Al poco tiempo promovió una casi intrascendente versión 5, de la que llegó a haber versión para Windows. Luego vendió los derechos de la línea de productos en 1999 a dataBased Intelligence, Inc. (dBI) que sigue comercializando nuevas versiones, llamadas dBASE Plus, desde 1999. Durante la primera mitad de los '80s muchas otras compañías produjeron sus propios dialectos o variaciones del producto y lenguaje. Estos incluyeron FoxPro (ahora Visual FoxPro), Quick-Silver, Clipper, Xbase++, FlagShip, y Harbour. Todos ellos son llamados informalmente como xBase o XBase. El formato subyacente de dBASE, el archivo dbf, es ampliamente utilizado en muchas otras aplicaciones que necesitan un formato simple para almacenar datos estructurados. dBASE fue licenciado a los usuarios por un plazo de quince años basado en el inconcebible evento de que un usuario utilizara su copia de dBASE por tan largo período.

Fox Pro: (acrónimo de FoxBASE Professional) es un lenguaje de programación orientado a objetos, que a la vez es un Sistema Gestor de Bases de datos o Database Management System (DBMS), publicado originalmente por Fox Software y posteriormente por Microsoft, para los sistemas operativos MS-DOS, MS Windows, Mac OS y UNIX.Aunque FoxPro es un DBMS y como tal soporta relaciones entre las tablas, no se le considera como un Sistema administrador de bases de datos relacionales (o RDBMS), por no soportar las transacciones.

gsBase: Es un Sistema de desarrollo cliente/servidor que permite la creación, diseño, ejecución y mantenimiento de aplicaciones de gestión o cálculo. IDE (integrated development environment). Incluye una potentísima Base de datos relacional y transaccional con registros multidimensionales de longitud variable.

IBM DB2: DB2 es una marca comercial, propiedad de IBM, bajo la cual se comercializa un sistema de gestión de base de datos.DB2 versión 9 es un motor de base de datos relacional que integra XML de manera nativa, lo que IBM ha llamado pureXML, que permite almacenar documentos completos dentro del tipo de datos xml para realizar operaciones y búsquedas de manera jerárquica dentro de éste, e integrarlo con búsquedas relacionales. La compatibilidad implementada en la última versión, hace posible la importación de los datos a DB2 en una media de 1 o 2 semanas, ejecutando PL/SQL de forma nativa en el gestor IBM DB2 La automatización es una de sus características más importantes, ya que permite eliminar tareas rutinarias y permitiendo que el almacenamiento de datos sea más ligero, utilizando menos hardware y reduciendo las necesidades de consumo de alimentación y servidores. La memoria se ajusta y se optimiza el rendimiento del sistema, con un interesante sistema que permite resolver problemas de forma automática e incluso adelantarse a su aparición, configurando automáticamente el sistema y gestión de los valores.

IBM Informix: Informix es una familia de sistema de gerencia de base de datos emparentada Productos (RDBMS) cerca IBM. Se coloca como servidor de los datos del buque insignia de IBM para tratamiento transaccional en línea (OLTP) así como soluciones integradas. IBM adquirió la tecnología de Informix en 2001 del software de Informix.

Interbase de CodeGear: es un Sistema de Administración y gestion de Base de Datos Relacionales (RDBMS) desarrollado y comercializado por la compañía Borland Software Corporation y actualmente desarrollado por su ex-filial CodeGear.Interbase se destaca de otros DBMS's por su bajo consumo de recursos, su casi nula necesidad de administración y su arquitectura multi-generacional. InterBase corre en plataformas Linux, Microsoft Windows y Solaris. Interbase es un RDBMS que acepta el estándar SQL-92 y soporta varias interfaces de acceso como JDBC, ODBC y ADO.NET. Sin embargo, ciertas características técnicas lo distinguen de otros productos. Una instalación completa del servidor de Interbase 7 requiere aproximadamente 40Mb en disco. Esto es significativamente mas pequeño que la instalación del cliente de muchos servidores de base de datos de otras compañías. El servidor usa muy poca memoria mientras está ocioso. Una instalación mínima de un cliente InterBase requiere aproximadamente 400Kb de espacio en disco.


MAGIC eDeveloper: puede ser utilizado para el desarrollo de aplicaciones Internet y Cliente/Servidor, que utilicen Sistemas Manejadores de Bases de Datos (DBMS). Dependiendo del tipo de licencia, eDeveloper puede usar un Servidor de Licencias para administrar la licencia de todos los usuarios (Flexlm).

Microsoft Access: Es un programa, utilizado en los sistemas operativos Microsoft Windows, para la gestión de bases de datos creado y modificado por Microsoft y orientado a ser usado en entornos personal o en pequeñas organizaciones. Es un componente de la suite Microsoft Office. Permite crear ficheros de bases de datos relacionales que pueden ser fácilmente gestionadas por una interfaz gráfica sencilla. Además, estas bases de datos pueden ser consultadas por otros programas. Dentro de un sistema de información, entraría dentro de la categoría de gestión, y no en la de ofimática, como podría pensarse. Este programa permite manipular los datos en forma de tablas (formadas por filas y columnas), crear relaciones entre tablas, consultas, formularios para introducir datos e informes para presentar la información.

Microsoft SQL Server: Microsoft SQL Server es un sistema para la gestión de bases de datos producido por Microsoft basado en el modelo relacional. Sus lenguajes para consultas son T-SQL y ANSI SQL. Microsoft SQL Serverconstituye la alternativa de Microsoft a otros potentes sistemas gestores de bases de datos como son Oracle o PostgreSQL o MySQL.
Este sistema incluye una versión reducida, llamada MSDE con el mismo motor de base de datos pero orientado a proyectos más pequeños, que en sus versiónes 2005 y 2008 pasa a ser el SQL Express Edition, que se distribuye en forma gratuita.

NexusDB: es un motor de base de datos comercial para el Delphi , C + + Builder y . NET lenguajes de programación creado por Nexus Sistemas de bases de datos Pty Ltd. fue creado como un sucesor del sistema FlashFiler del Turbo Pascal días. El motor de base de datos compatible con el SQL: 2003 junto con la base estándar SQL funcionalidad.

Open Access: desarrollado por la compañía estadounidense Software Products International (SPI) entre 1984 y 1992, era un conjunto de aplicaciones de escritorio orientadas a la gestión administrativa de pequeñas y medianas empresas.Se ejecutaba en modo texto bajo entorno MS-DOS. A diferencia de las aplicaciones de línea de comandos de aquella época, el acceso a todas las funciones se podía llevar a cabo mediante selección de opciones de menú, y también por reasignación de teclas de función. Aunque en principio no disponía de soporte para ratón, ofrecía menús contextuales similares a los de un botón secundario. Además, todos los módulos se integraban en un centro de control, compartían una interfaz similar y facilitaban el intercambio de datos entre sí. Este diseño compacto y unitario utilizaba de modo más eficiente los recursos de hardware y superaba las limitaciones del sistema operativo DOS para la multitarea. Compartían el mismo enfoque otros productos rivales de aquella época (segunda mitad de los años ochenta), como Framework (de Ashton-Tate),Lotus Symphony y, más tarde, Microsoft Works. Se englobaban en la categoría de los paquetes integrados, que más tarde serían desplazados por las suites ofimáticas. OA incluía cuatro módulos principales: gestor de bases de datos, hoja de cálculo, procesador de textos y entorno de desarrollo, además de utilidades para el trabajo de oficina en colaboración, como soporte de comunicaciones, funciones de red, creación y edición de macros, generación de gráficos, cliente de correo, presentaciones y agenda.

Oracle: es un sistema de gestión de base de datos relacional (o RDBMS por el acrónimo en inglés de Relational Data Base Management System), desarrollado por Oracle Corporation. Se considera a Oracle como uno de los sistemas de bases de datos más completose considera a Oracle como uno de los sistemas de bases de datos más completos.

Paradox: Base de datos relacional para entorno MS Windows, anteriormente disponible para MS-DOS y Linux, desarrollada actualmente por Corel e incluida en la suite ofimática WordPerfect Office.En los tiempos del MS-DOS, era una base de datos de bastante éxito, compitiendo con dBase, Clipper y FoxBase. Pasó al control de Borland después de la compra de Ansa Software en 1987. Aunque Borland la portó a Windows, su cuota de mercado es mucho menor que la de Microsoft Access, pero su lenguaje de programación (ObjectPAL) es Pascal, lo que le hace más potente que Access, que usa Visual Basic y esto limita bastante sus prestaciones si se compara con otras bases de datos que usan lenguajes más avanzados. Con su Runtime se puede desarrollar una aplicación usando una sola licencia sin limitación de puestos.

PervasiveSQL: Motor de base de datos embebible que sustenta la integridad de los datos, el alto rendimiento, flexibilidad, escalabilidad y un bajo coste total de propiedad.

Progress (DBMS): Progress Enterprise RDBMS está diseñado para grandes ambientes empresariales y el procesamiento de transacciones a través de las aplicaciones más demandantes de hoy día, basadas en procesamiento de transacciones en línea (OLTP) utilizando SQL y Progress 4GL (ver figura 2). Cimentado en una arquitectura flexible, de multienlaces y multiservidor, Progress Enterprise RDBMS es una base de datos empresarial a gran escala, poderosa y abierta, que puede ejecutarse a través de múltiples plataformas de hardware y redes.
Progress Enterprise RDBMS incluye toda la funcionalidad necesaria para satisfacer los requerimientos OLTP más demandantes. Estas capacidades incluyen bloqueo a nivel de registro, recuperación "roll-back" y "roll-forward", recuperación "point-in-time", administración de la base de datos distribuida con "two-phase commit", un juego completo de utilidades en línea y soporte completo para ANSI estándar SQL-92. Una combinación de poder, flexibilidad y fácil operación hacen de Progress Enterprise RDBMS un sistema ideal para un amplio rango de aplicaciones comerciales y de procesamiento de datos. Sofisticadas capacidades autoajustables e interfaces gráficas simples para la administración del sistema, hacen de Progress Enterprise RDBMS un sistema más sencillo de instalar, afinar y administrar que otros productos. Con bajos costos de administración, un bajo costo inicial por licencias y costos mínimos por actualización, Progress Enterprise RDBMS proporciona una ventaja significativa en el costo de propiedad sobre los productos de bases de datos de la competencia.

Sybase ASE: Adaptive Server Enterprise (ASE) es el motor de bases de datos (RDBMS) insignia de la compañía Sybase. ASE es un sistema de gestión de datos, altamente escalable, de alto rendimiento, con soporte a grandes volúmenes de datos, transacciones y usuarios, y de bajo costo, que permite: Almacenar datos de manera segura, Tener acceso y procesar datos de manera inteligente, Movilizar datos

Sybase ASA: Sybase Adaptive Server Anywhere (ASA) es un Sistema administrador de bases de datos relacionales (RDBMS) de alto rendimiento, que dentro de su funcionalidad incluye gestión de transacciones, un optimizador de consultas auto-afinable, integridad referencial, procedimientos almacenados Java y SQL,triggers, bloqueo a nivel de registro, programación de eventos y recuperación automática. ASA es desarrollado por iAnywhere, subsidiaria de Sybase.

Sybase IQ: es un motor de bases de datos altamente optimizado para inteligencia empresarial, desarrollado por la empresa Sybase. Diseñado específicamente para entregar resultados más rápidos en soluciones de inteligencia empresarial analítica de misión crítica, almacenes de datos y generación de reportes, Sybase IQ combina velocidad y agilidad, con un bajo costo total de propiedad, lo que permite a las empresas llevar a cabo análisis de datos y generación de reportes antes impensables, imprácticos o costosos. La más reciente versión de Sybase IQ es la 15.2

WindowBase: WindowBase era un sistema de gestión de base de datos relacionales (SGBD) desarrollado por Software Products International como el sucesor natural de su famoso gestor para MS-DOS Open Access. Anunciada en 1991 es presentado en Europa en el CeBIT 1992 siendo inicialmente distribuida por las filiales europeas de SPI.SPI respondía así a la competencia creciente de aplicaciones que ya venían explotando las ventajas de la interfaz gráfica de usuario (GUI) de Microsoft Windows 3.x, demanda que acabaría acaparando el propio Microsoft con Microsoft Access. Costaba 495 dólares (695 $ con el SDK para C) . Incorporaba funcionalidades Dynamic Data Exchange (DDE), un software development kit con C y C++ y soporte SQL. En cuanto a la interfaz, además de personalización de menús brindaba al usuario no experto herramientas de ayuda para representar de forma gráfica los criterios de sus consultas: botones de selección, controles editables, barras de desplazamiento y casillas de verificación, además de un sistema en línea de ayuda sensible al contexto. También se incluían plantillas predefinidas de formularios de pantalla y de informes impresos. Los datos podían exportarse o importarse gracias a conexiones con los principales formatos de archivo: dBase, Btrieve o el propio Open Access-GBD. En monopuesto era compatible con Microsoft SQL Server. En 1994 se presenta la versión 2.0 a un precio de 495 dólares la nueva licencia, 79 dólares por el pack opcional de conectividad xBase, y 149 dólares por actualizaciones. En España es distribuida por Sedyco, empresa que se hizo cargo del soporte de los clientes de SPI tras del cierre de SPI Ibérica. Esta empresa lo traduce al idioma español con vistas a comercializarlo también en Hispanoamérica y lo comercializa a un precio inicial de 19.900 pesetas.

IBM IMS (Information Management System): es un gestor de bases de datos jerárquicas y un gestor transaccional con alta capacidad de proceso.IBM diseñó el IMS con Rockwell y Caterpillar en 1966 debido al Programa Apollo. El desafío de IBM era inventariar la extensísima lista de materiales del cohete lunar Saturno V y de la nave Apollo.
El primer mensaje "IMS READY" apareció en un terminal IBM 2740 en Downey, California un 14 de agosto de 1968. IMS todavía se usa extensamente 40 años después y, con el tiempo, ha visto interesantes desarrollos como el sistema IBM Sistema/360, hoy convertido en z/OS y Sistema z9. Por ejemplo, IMS soporta aplicaciones desarrolladas en Java, JDBC, XML y Servicios Web.



Gestores de bases de datos Libres

FireBird: Es un sistema de administración de bases de datos relacional (o RDBMS) (Lenguaje consultas:SQL) de código abierto, basado en la versión 6 de Interbase, cuyo código fue liberado por Borland en 2000. Su código fue reescrito de C a C++. El proyecto se desarrolla activamente, el 18 de abril de 2008 fue liberada la versión 2.1 y el 26 de diciembre de 2009 fue liberada la versión 2.5.0 RC1Existen dos tipos de servidor Firebird para ser instalados: Classic y Super server. Si bien tienen varias diferencias menores entre sí, la principal consiste en que el super server maneja hilos de ejecución individuales para cada conexión. Por lo tanto para un número reducido de conexiones el recomendado sería el classic porque consumirá menor cantidad de recursos. En caso de arquitecturas SMP, se debe utilizar el servidor classic porque el Supersever no tiene soporte para este tipo de arquitectura. 

PostgreSQL: Es un Sistema de gestión debase de datos relacional orientada a objetos y libre, publicado bajo la licencia BSD. Como muchos otros proyectos de código abierto, el desarrollo de PostgreSQL no es manejado por una empresa y/o persona, sino que es dirigido por una comunidad de desarrolladores que trabajan de forma desinteresada, altruista, libre y/o apoyados por organizaciones comerciales. Dicha comunidad es denominada el PGDG (PostgreSQL Global Development Group). Mediante un sistema denominado MVCC (Acceso concurrente multiversión, por sus siglas en inglés) PostgreSQL permite que mientras un proceso escribe en una tabla, otros accedan a la misma tabla sin necesidad de bloqueos. Cada usuario obtiene una visión consistente de lo último a lo que se le hizo commit. Esta estrategia es superior al uso de bloqueos por tabla o por filas común en otras bases, eliminando la necesidad del uso de bloqueos explícitos.

DB2 Express-C: DB2 express-C es un motor de base de datos perteneciente a la empresa IBM, conteniendo parte de las funcionalidades de la versión de pago DB2 propiedad tambien de la empresa IBM, este motor de base de datos es gratuita pero no libre (como aquellas que tienen licencia GPL) y cuenta con la ventaja de no tener limite de crecimiento en sus archivos de base de datos. 

SQLite: Es un sistema de gestión de bases de datos relacional compatible con ACID, contenida en una relativamente pequeña (~275 kiB) biblioteca en C. SQLite es un proyecto de dominio público1creado por D. Richard Hipp. A diferencia de los sistema de gestión de bases de datos cliente-servidor, el motor de SQLite no es un proceso independiente con el que el programa principal se comunica. En lugar de eso, la biblioteca SQLite se enlaza con el programa pasando a ser parte integral del mismo. El programa utiliza la funcionalidad de SQLite a través de llamadas simples a subrutinas y funciones. Esto reduce la latencia en el acceso a la base de datos, debido a que las llamadas a funciones son más eficientes que la comunicación entre procesos. El conjunto de la base de datos (definiciones, tablas, índices, y los propios datos), son guardados como un sólo fichero estándar en la máquina host. Este diseño simple se logra bloqueando todo el fichero de base de datos al principio de cada transacción. En su versión 3, SQLite permite bases de datos de hasta 2 Terabytes de tamaño, y también permite la inclusión de campos tipo BLOB. El autor de SQLite ofrece formación, contratos de soporte técnico y características adicionales como compresión y cifrado.

Apache Derby: es un sistema gestor de base de datos relacional escrito en Java que puede ser empotrado en aplicaciones Java y utilizado para procesos de transacciones online. Tiene un tamaño de 2 MB de espacio en disco. Inicialmente distribuido como IBM Cloudscape, Apache Derby es un proyecto open sourcelicenciado bajo la Apache 2.0 License. Actualmente se distribuye como Sun Java DB.
Criticas sobre Derby: 
Derby está escrito en Java y no tiene bindings para otros lenguajes (no tendría mucho sentido) por lo que limita al programador a utilizarlo mediante la máquina virtual de Java y en programas escritos en ese lenguaje o lenguajes de scripting que se ejecuten sobre JVM (Jython, JRuby, Jacl, etc.). Esto por otro lado hace que las aplicaciones sean altamente portables. 
Derby hace uso de una mayor cantidad de memoria y su rendimiento y compatibilidad SQL es inferior que otras alternativas como puede ser la base de datos gratuita y de código libre H2 por lo que su uso tiene poco sentido. 
En su modo empotrado sólo soporta un único proceso que tenga abierta la base de datos. Sin embargo en su modo de cliente/servidor soporta el acceso de varios procesos simultáneos mediante bloqueo de filas. 

miércoles, 24 de enero de 2018

Tema 1.1.2.- Relación del DBA con otras áreas de la Sistemas.

En sistemas muy complejos cliente/servidor y de tres capas, la base de datos es sólo uno de los elementos que determinan la experiencia de los usuarios en línea y los programas desatendidos. 

El rendimiento es una de las mayores motivaciones de los DBA para coordinarse con los especialistas de otras áreas del sistema fuera de las líneas burocráticas tradicionales. Uno de los deberes menos respetados por el administrador de base de datos es el desarrollo y soporte a pruebas, mientras que algunos otros encargados lo consideran como la responsabilidad más importante de un DBA. 

Las actividades de soporte incluyen la colecta de datos de producción para llevar a cabo pruebas con ellos; consultar a los programadores respecto al desempeño; y hacer cambios a los diseños de tablas de manera que se puedan proporcionar nuevos tipos de almacenamientos para las funciones de los programas.

Tema 1.1.1.- Funciones de un DBA (administrador de base de datos)

El administrador de base de datos (DBA) es la persona responsable de los aspectos ambientales de una base de datos. En general esto incluye:

Recuperabilidad. Crear y probar Respaldos.
Integridad. Verificar o ayudar a la verificación en la integridad de datos.
Seguridad. Definir y/o implementar controles de acceso a los datos.
Disponibilidad. Asegurarse del mayor tiempo de encendido.
Desempeño. Asegurarse del máximo desempeño incluso con las limitaciones
Desarrollo y soporte a pruebas. Ayudar a los programadores e ingenieros a utilizar eficientemente la base de datos.

El diseño lógico y físico de las bases de datos a pesar de no ser obligaciones de un administrador de bases de datos, es a veces parte del trabajo. Esas funciones por lo general están asignadas a los analistas de bases de datos ó a los diseñadores de bases de datos.

Deberes
Los deberes de un administrador de bases de datos dependen de la descripción del puesto, corporación y políticas de Tecnologías de Información (TI). Por lo general se incluye recuperación de desastres (respaldos y pruebas de respaldos), análisis de desempeño y optimización, y algo de asistencia en el diseño de la base de datos.

Antes de continuar, necesitamos describir brevemente lo que es una "base de datos." Una base de datos es una colección de información, accedida y administrada por un DBMS. Después de experimentar con DBMSs jerárquicos y de red durante los 70's, la industria de IT se vio dominada por DBMSs tales como Oracle y MySQL.

Un DBMS relacional manipula la información a manera de tipos de cosas del mundo real (entidades) en tablas que representan esas entidades. Una tabla es como una hoja de cálculo; cada renglón representa una entidad en particular (instancia), y cada columna representa la información respecto de la entidad (dominio). En ocasiones las entidades están hechas de entidades más pequeñas, como órdenes y líneas de orden.

Una base de datos relacional bien manejada, minimiza la necesidad de las aplicaciones de contener información respecto al almacenamiento físico de los datos que se van a acceder. Para maximizar el aislamiento de los programas de las estructuras de datos, los DBMSs restringen el acceso a los datos mediante el protocolo SQL, un lenguaje no procedural que limita al programador a obtener ciertos resultados

Recuperabilidad
La Recuperabilidad significa que, si se da algún error en los datos, hay un bug de programa ó de hardware, el DBA (Administrador de base de datos) puede traer de vuelta la base de datos al tiempo y estado en que se encontraba en estado consistente antes de que el daño se causara. Las actividades de recuperación incluyen el hacer respaldos de la base de datos y almacenar esos respaldos de manera que se minimice el riesgo de daño ó pérdida de los mismos, tales como hacer diversas copias en medios de almacenamiento removibles y almacenarlos fuera del área en antelación a un desastre anticipado. La recuperación es una de las tareas más importantes de los DBA's.

La recuperabilidad, frecuentemente denominada "recuperación de desastres", tiene dos formas primarias. La primera son los respaldos y después las pruebas de recuperación. La recuperación de las bases de datos consiste en información y estampas de tiempo junto con bitácoras los cuales se cambian de manera tal que sean consistentes en un momento y fecha en particular. Es posible hacer respaldos de la base de datos que no incluyan las estampas de tiempo y las bitácoras, la diferencia reside en que el DBA debe sacar de línea la base de datos en caso de llevar a cabo una recuperación. Las pruebas de recuperación consisten en la restauración de los datos, después se aplican las bitácoras a esos datos para restaurar la base de datos y llevarla a un estado consistente en un tiempo y momento determinados. Alternativamente se puede restaurar una base de datos que se encuentra fuera de línea sustituyendo con una copia de la base de datos.

Si el DBA (o el administrador) intentan implementar un plan de recuperación de bases de datos sin pruebas de recuperación, no existe la certeza de que los respaldos sean del todo válidos. En la práctica, los respaldos de la mayoría de los RDBMSs son raramente válidos si no se hacen pruebas exhaustivas que aseguren que no ha habido errores humanos ó bugs que pudieran haber corrompido los respaldos.

Integridad
La integridad de una base de datos significa que, la base de datos ó los programas que generaron su contenido, incorporen métodos que aseguren que el contenido de los datos del sistema no se rompa así como las reglas del negocio. Por ejemplo, un distribuidor puede tener una regla la cual permita que solo los clientes individuales puedan solicitar órdenes; a su vez cada orden identifique a uno y solo un proveedor. El servidor Oracle y otros DBMSs relacionales hacen cumplir este tipo de reglas del negocio con limitantes, las cuales pueden ser configuradas implícitamente a través de consultas. Para continuar con este ejemplo, en el proceso de inserción de una nueva orden a la base de datos, esta a su vez tendría que cerciorarse de que el cliente identificado existe en su tabla para que la orden pueda darse.

Seguridad
Seguridad significa la capacidad de los usuarios para acceder y cambiar los datos de acuerdo a las políticas del negocio, así como, las decisiones de los encargados. Al igual que otros metadatos, una DBMS relacional maneja la seguridad en forma de tablas. Estas tablas son las "llaves del reino" por lo cual se deben proteger de posibles intrusos.

Disponibilidad
La disponibilidad significa que los usuarios autorizados tengan acceso a los datos cuando lo necesiten para atender a las necesidades del negocio. De manera incremental los negocios han ido requiriendo que su información esté disponible todo el tiempo (7x24", o siete días a la semana, 24 horas del día). La industria de TI ha respondido a estas necesidades con redundancia de red y hardware para incrementar las capacidades administrativas en línea.

Rendimiento
El rendimiento significa que la base de datos no cause tiempos de respuesta poco razonables. En sistemas muy complejos cliente/servidor y de tres capas, la base de datos es solo uno de los elementos que determinan la experiencia de los usuarios en línea y los programas desatendidos. El rendimiento es una de las mayores motivaciones de los DBA para coordinarse con los especialistas de otras áreas del sistema fuera de las líneas burocráticas tradicionales.

Desarrollo/Soporte a pruebas
Uno de los deberes menos respetados por el administrador de base de datos es el desarrollo y soporte a pruebas, mientras que algunos otros encargados lo consideran como la responsabilidad más importante de un DBA. Las actividades de soporte incluyen la colecta de datos de producción para llevar a cabo pruebas con ellos; consultar a los programadores respecto al desempeño; y hacer cambios a los diseños de tablas de manera que se puedan proporcionar nuevos tipos de almacenamientos para las funciones de los programas.

Algunos roles del personal de IT relacionados con la administración de base de datos:

Programador de aplicaciones.
Administrador de sistema.
Administrador de datos.
Arquitecto de datos.

Tema 1.2.- El procesador y sus registros internos


Definición de registro
Un registro es una memoria de alta velocidad y poca capacidad, integrada en el microprocesador, que permite guardar transitoriamente y acceder a valores muy usados, generalmente en operaciones matemáticas.

Función de los registros
Los registros están en la cumbre de la jerarquía de memoria, y son la manera más rápida que tiene el sistema de almacenar datos. Los registros se miden generalmente por el número de bits que almacenan; por ejemplo, un "registro de 8 bits" o un "registro de 32 bits“.

La CPU contiene un conjunto de localidades de almacenamiento temporal de datos de alta velocidad llamada registro. Algunos de los registros están dedicados al control, y solo la unidad de control tiene acceso a ellos. Los registros restantes son los registros de uso general y el programador es el usuario que tiene acceso a ellos.

Algunos registros básicos:
Dentro del conjunto básico de registros de control se deben incluir a los siguientes:

A.Contador de programa (PC).
B.Registro de direcciones de la memoria (MAR).
C.Registro de datos (RD).
D.Registro de instrucciones (IR).
E.Palabra de estado de programa (PSW).

martes, 23 de enero de 2018

Tema 1.1.- Importancia del lenguaje ensamblador

El lenguaje ensamblador es un tipo de lenguaje de bajo nivel utilizado para escribir programas informáticos, y constituye la representación más directa del código máquina específico para cada arquitectura de microprocesador.

La importancia del lenguaje ensamblador es principalmente que se trabaja directamente con el microprocesador; por lo cual se debe de conocer el funcionamiento interno de este, tiene la ventaja de que en el se puede realizar cualquier tipo de programas que en los lenguajes de alto nivel no lo pueden realizar. Otro punto sería que los programas en ensamblador ocupan menos espacio en memoria.

Características:

El código escrito en lenguaje ensamblador posee una cierta dificultad de ser entendido ya que su estructura se acerca al lenguaje máquina, es decir, es un lenguaje de bajo nivel.
El lenguaje ensamblador es difícilmente portable, es decir, un código escrito para un microprocesador, puede necesitar ser modificado, para poder ser usado en otra máquina distinta. Al cambiar a una máquina con arquitectura diferente, generalmente es necesario reescribirlo completamente.
El único lenguaje que entienden los microcontroladores es el código máquina formado por ceros y unos del sistema binario.
El lenguaje ensamblador expresa las instrucciones de una forma más natural al hombre a la vez que muy cercana al microcontrolador, ya que cada una de esas instrucciones se corresponde con otra en código máquina.
El lenguaje ensamblador trabaja con nemónicos, que son grupos de caracteres alfanuméricos que simbolizan las órdenes o tareas a realizar.
La traducción de los nemónicos a código máquina entendible por el microcontrolador la lleva a cabo un programa ensamblador.
El programa escrito en lenguaje ensamblador se denomina código fuente (*.asm). El programa ensamblador proporciona a partir de este fichero el correspondiente código máquina, que suele tener la extensión *.hex.
Con el lenguaje ensamblador se tiene un control muy preciso de las tareas realizadas por un microprocesador por lo que se pueden crear segmentos de código difíciles y/o muy ineficientes de programar en un lenguaje de alto nivel, ya que, entre otras cosas, en el lenguaje ensamblador se dispone de instrucciones del CPU que generalmente no están disponibles en los lenguajes de alto nivel.

Ventajas y desventajas del Lenguaje Ensamblador

Ventajas

1.- Como trabaja directamente con el microprocesador al ejecutar un programa, pues como este lenguaje es el mas cercano a la máquina la computadora lo procesa mas rápido.

2.- Eficiencia de tamaño .- Un programa en ensamblador no ocupa mucho espacio en memoria porque no tiene que cargan librerías y demás como son los lenguajes de alto nivel

3.- Flexibilidad .- Es flexible porque todo lo que puede hacerse con una máquina, puede hacerse en el lenguaje ensamblador de esta máquina; los lenguajes de alto nivel tienen en una u otra forma limitantes para explotar al máximo los recursos de la máquina. O sea que en lenguaje ensamblador se pueden hacer tareas especificas que en un lenguaje de alto nivel no se pueden llevar acabo porque tienen ciertas limitantes que no se lo permite 

Desventajas

1.- Tiempo de programación. Como es un lenguaje de bajo nivel requiere más instrucciones para realizar el mismo proceso, en comparación con un lenguaje de alto nivel. Por otro lado, requiere de más cuidado por parte del programador, pues es propenso a que los errores de lógica se reflejen más fuertemente en la ejecución.
2.- Programas fuente grandes. Por las mismas razones que aumenta el tiempo, crecen los programas fuentes; simplemente requerimos más instrucciones primitivas para describir procesos equivalentes. Esto es una desventaja porque dificulta el mantenimiento de los programas, y nuevamente reduce la productividad de los programadores.
3.- Peligro de afectar recursos inesperadamente. Que todo error que podamos cometer, o todo riesgo que podamos tener, podemos afectar los recursos de la maquina, programar en este lenguaje lo más común que pueda pasar es que la máquina se bloquee o se reinicialize. Porque con este lenguaje es perfectamente posible (y sencillo) realizar secuencias de instrucciones inválidas, que normalmente no aparecen al usar un lenguaje de alto nivel.
4.- Falta de portabilidad. Porque para cada máquina existe un lenguaje ensamblador; por ello, evidentemente no es una selección apropiada de lenguaje cuando deseamos codificar en una máquina y luego llevar los programas a otros sistemas operativos o modelos de computadoras.

Exposiciones - Lenguajes de interfaz

Equipo # 1 - Programación del puerto paralelo Un puerto paralelo es una interfaz entre un computador y un periférico, cuya principal carac...