miércoles, 15 de abril de 2009

Python

Características y paradigmas
Python es un lenguaje de programación multiparadigma. Esto significa que más que forzar a los programadores a adoptar un estilo particular de programación, permite varios estilos:
programación orientada a objetos, programación estructurada y programación funcional. Otros muchos paradigmas más están soportados mediante el uso de extensiones. Python usa tipo de dato dinámico y reference counting para el manejo de memoria. Una característica importante de Python es la resolución dinámica de nombres, lo que enlaza un método y un nombre de variable durante la ejecución del programa (también llamado ligadura dinámica de métodos).
Otro objetivo del diseño del lenguaje era la facilidad de extensión. Nuevos módulos se pueden escribir fácilmente en C o C++. Python puede utilizarse como un lenguaje de extensión para módulos y aplicaciones que necesitan de una interfaz programable. Aunque el diseño de Python es de alguna manera hostil a la programación funcional tradicional del
Lisp, existen bastantes analogías entre Python y los lenguajes minimalistas de la familia del Lisp como puede ser Scheme.



Requerimientos
Si usted utiliza Windows,El programa está escrito en el lenguaje de programación Python, y utiliza como formato intermedio para generar las canciones el sistema de notación musical ABC. Los requerimientos, así pues son los siguientes:
Python, versión 2.1 o superior. En la mayoría de distribuciones de Linux o FreeBSD lo tendrá instalado por defecto o disponible como paquete para instalar. También existen versiones para Windows, BeOS, MacOS y otros sistemas operativos.

Para comprobar que lo tiene instalado, teclee la siguiente orden en su intérprete de comandos o consola: python
Deberá obtener una salida parecida a lo siguiente:Python 2.1.3 (#1, Sep 7 2002, 15:29:56)
[GCC 2.95.4 20011002 (Debian prerelease)] on linux2
Type "copyright", "credits" or "license" for more information.
>>>


Para salir del intérprete, pulse Ctl+D. En sistemas Windows, Ctl+Z.



Si desea utilizar la interfaz gráfica disponible, su instalación de Python debe contar con el módulo Tkinter. De nuevo, este módulo es prácticamente estándar en las instalaciones de Python en Linux, FreeBSD y MacOS. Por desgracia, este módulo no está disponible para el sistema operativo BeOS, así pues, los/as usuarios/as de este último deberán utilizar Pymprovisator utilizando la línea de comandos (el programa Terminal).


Para comprobar que este módulo está disponible, puede iniciar de nuevo una sesión con el intérprete y teclear las siguientes instrucciones:Python 2.1.3 (#1, Sep 7 2002, 15:29:56)
[GCC 2.95.4 20011002 (Debian prerelease)] on linux2
Type "copyright", "credits" or "license" for more information.
>>> from Tkinter import *
>>> root = Tk()
>>>


Si no obtiene ningún mensaje de error , su instalación del módulo Tkinter es correcta


ABC2MIDI. abc2midi es un pequeño programa que convierte canciones en notación ABC a archivos MIDI. Pymprovisator trabaja internamente con la notación ABC y necesita este programa para generar los archivos MIDI. Este programa no es tan habitual, si bien algunas distribuciones de Linux lo incorporan (p. ej. Debian).
Un reproductor de archivos MIDI. Bajo sistemas Windows, el Reproductor multimedia o el Windows Media Player pueden valer. En otros sistemas se pueden utilizar playmidi, timidity, kmid o cualquier otro que tenga instalado.

Ventajas
Desarrollo más rápido : Puedes escribir un programa, salvarlo y ejecutarlo. En un lenguaje compilado tienes que pasar por los pasos de compilar y ligar el software, lo cual puede ser un proceso lento.
Multiplataforma : El mismo código funciona en cualquier arquitectura, la única condición es que disponga del intérprete del lenguaje. No es necesario compilar el código una vez para cada arquitectura.

Inconvenientes
Lentitud : Los programas interpretados son más lentos que los compilados. Sin embargo los programas interpretados suelen ser cortos, en los que la diferencia es inapreciable.
Si desea saber más sobre Python puede consultar
Introducción a Python







My SQL

Es un sistema de gestión de base de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones.

Características
Usa GNU Automake, Autoconf, y Libtool para portabilidad
Uso de multihilos mediante hilos del kernel.
Usa tablas en disco b-tree para búsquedas rápidas con compresión de índice
Tablas hash en memoria temporales
El código MySQL se prueba con Purify (un detector de memoria perdida comercial) así como con Valgrind, una herramienta GPL
Completo soporte para operadores y funciones en cláusulas select y where.
Completo soporte para cláusulas group by y order by, soporte de funciones de agrupación
Seguridad: ofrece un sistema de contraseñas y privilegios seguro mediante verificación basada en el host y el tráfico de contraseñas está cifrado al conectarse a un servidor.
Soporta gran cantidad de datos. MySQL Server tiene bases de datos de hasta 50 millones de registros.
Se permiten hasta 64 índices por tabla (32 antes de MySQL 4.1.2). Cada índice puede consistir desde 1 hasta 16 columnas o partes de columnas. El máximo ancho de límite son 1000 bytes (500 antes de MySQL 4.1.2).
Los clientes se conectan al servidor MySQL usando sockets TCP/IP en cualquier plataforma. En sistemas Windows se pueden conectar usando named pipes y en sistemas Unix usando ficheros socket Unix.
En MySQL 5.0, los clientes y servidores Windows se pueden conectar usando memoria compartida.
MySQL contiene su propio paquete de pruebas de rendimiento proporcionado con el código fuente de la distribución de MySQL.

Requerimientos
Los requisitos de Hardware de MySQL dependen de la carga que vaya a soportar la base de datos. En principio, para un uso normal, te recomiendo como mínimo un AMD a 400 Mhz, y MUCHA memoria RAM, por ejemplo 512 Mb para empezar. Respecto al disco duro, con un IDE rápido (7.500 rpm y 2 Mb de caché) sería suficiente. Si pones mucha RAM la velocidad del disco es secundaria (si estamos hablando de Linux, claro). Respceto al Sistema Operativo, sin duda, Linux, y distribución Red Hat 6.2
Ventajas
Una de las mayores ventajas es que cuando Mysql se encuentra un índice evitamos un "escaneo completo de la tabla" lo que hace que cuando tenemos grandes cantidades de datos en nuestras tablas, la mejora puede ser muy importante.
Muy relacionado con el anterior... al evitar "escaneos completos de las tablas", evitamos los siguientes problemas: Sobrecarga de CPU, sobrecarga de disco y concurrencia.
Con los índices evitamos que Mysql tenga que hacer lecturas secuenciales.
Los índices nos permiten una mayor rápidez en la ejecución de las consultas tipo SELECT lo que sea WHERE ...
Y por último será una ventaja para aquellos campos que no tengan datos duplicados, sin embargo si es un campo con valores que se repiten continuamente (Ej. Masculino/Femenino) no es aconsejable.
Desventajas
Pero a pesar de sus grandes ventajas no debemos abusar de ellos puesto que en determinadas situaciones no supondrá una mejora:
Los índices son una desventaja en aquellas tablas las que se utiliza frecuentemente operaciones de escritura (Insert, Delete, Update), esto es porque los índices se actualizan cada vez que se modifica una columna.
Los índices tambien suponen una desventaja en tablas demasiado pequeñas puesto que no necesitaremos ganar tiempoen las consultas.
Tampoco son muy aconsejables cuando pretendemos que la tabla sobre la que se aplica devuelva una gran cantidad de datos en cada consulta.
Por último hay que tener en cuenta que ocupan espacio y en determinadas ocasiones incluso más espacio que los propios datos.
Ahora tenemos un dilema, ¿Usamos índices o no?Pues como todo depende, si tenemos una consulta en la que tenemos claro el uso que vamos a necesitar de la claúsula WHERE la respuesta es sí, por el contrario si tenemos un gran número de registros duplicados y lo que necesitamos la gran mayoría de veces es una lectura secuencial la respuesta es no

SQL Server

Caracteristicas:

Mirroring de Bases de Datos, se pueden usar esta funcionalidad para garantizar la disponibilidad de sus sistemas SQL mediante la configuración de un servidor en espera para su activación automática en caso de fallo (failover).

Operaciones de Indexación Online, La opción de indexado online permite modificaciones concurrentes (actualizaciones, borrados e inserciones) en las tablas subyacentes o datos con índices cluster y de cualquier índice asociado durante la ejecución de DDL de indexación.por ejemplo, mientras se está reconstruyendo un índice cluster, se puede seguir haciendo actualizaciones a los datos y consultas sobre estos datos.
Nuevas herramientas integradas,incluye funcionalidades para desarrollo, implantación y resolución de problemas de Bases de Datos SQL, así como mejoras de las funcionalidades anteriores

Aislamiento de Imágenes (SI),SI permite a los usuarios acceder a la última operación realizada utilizando una vista transitoria consistente de la Base de Datos. Esta funcionalidad ofrece una escalabilidad mayor para implementaciones de bases de datos extremadamente grandes.

Particionado de Datos,se ha mejorado con particiones nativas de tablas e índices, posibilitando soluciones de escalabilidad horizontal. Al particionar tablas de bases de datos muy grandes, el rendimiento de las consultas a la base de datos se mejora notablemente.

Backups duplicados (“mirrored backup”),un nuevo soporte para volúmenes de backup espejados, aumentando la disponibilidad de las copias de seguridad de SQL Server. La posibilidad de replicar el backup permite resolver posibles problemas de corrupción del medio físico de copia.

Restauración online,permitirá realizar una operación de recuperación mientras una instancia de SQL Server está activa. La restauración online mejora la disponibilidad de SQL Server, ya que únicamente los datos que se están recuperando quedan como no disponibles. El resto de la base de datos permanece online y disponible.

Recuperación rápida,mejora la disponibilidad de las bases de datos de SQL Server con una nueva opción. Los usuarios podrán reconectarse a una base de datos en recuperación después de que realizar un “roll forward” sobre el log de transacciones.

Conexión de Administrador dedicada,la conexión de administración dedicada, que pueden utilizar los administradores de BBDD para acceder a un servidor en explotación aun cuando el servidor está bloqueado o no disponible por cualquier motivo. Así, los administradores podrán ejecutar funciones de diagnóstico, o sentencias Transact SQL, a fin de poder resolver problemas en el servidor.

Mejoras en la Replication,proporciona una serie de funcionalidades de replicación extremo a extremo, incluyendo la posibilidad de publicar bases de datos Oracle. SQL Server 2005 incluirá nuevas mejoras a las herramientas y sobre la escalabilidad de la replicación también.

Requerimientos:
-Pentium III (o equivalente) o procesador más rápido.-128 MBytes RAM.-Disco duro de 200 MBytes de espacio libre para instalación, además de espacio disponible para almacenar gráficos (si no esta instalado, agregar: 110MB para Internet Explorer; 160 MB para .NET Framework).-Tarjeta de gráficos XGA y un monitor a color (1024 es la resolución recomendada) .-Mouse o Trackball .-Puerto USB o Puerto de impresora paralelo (para dongle local).-Unidad de CD-ROM o acceso a una red (para instalación) .

ventajas:

Experimente los beneficios enseguida: mejoras significantes que van desde la compresión de la información hasta el rendimiento de las preguntas y un mejor espejado de bases de datos .

Mejor seguridad y revisión de cuentas: obtenga codificación de la información y capacidades de revisión de cuentas de bases de datos.

Aumente las capacidades de administración del sistema: los atributos de administración del servidor a través de políticas y nuevas herramientas como la colección de datos de performance de los servidores ayudan de manera efectiva al crecimiento de su información.

Incremente el desempeño: se han hecho muchas mejoras del desempeño a través de la tecnología, incluyendo incrementos dentro de los servicios de análisis, de reporte y de integración. Unisys y Microsoft fijaron un nuevo récord de desempeño ETL (Extraer, Transformar y Cargar según sus siglas en inglés) cargando un terabyte de información en menos de 30 minutos

Respuesta de sistema predictiva: nuevos atributos como la gestión de consultas y la compresión de información, junto con mejoras generales de la escalabilidad, proveen soluciones escalables más fidedignas para grandes sistemas empresariales.

Desarrollador de productividad: herramientas como Entity Framework y LINQ y nuevas aplicaciones de día/fecha, Filestream y de datos relativos al espacio, proveen un desarrollo más poderoso y más simple.

Desventajas:
-Manejabilidad de la consola.
-Entorno de Microsoft.
-Tiempo de respuesta relativamente largo.-Poco eficaz, el sql es limitado.-Es ironico pero es casi incompatible a casi todos los windows En modo de creacion de bases de datos.-Demasiado uso de algunos recursos.-Tiene una sintaxis un poco enrevesada en ciertas busquedas, por ejemplo con las fechas.

Open DataBase

Open Database Connectivity (ODBC) es un estándar de acceso a Bases de datos desarrollado por Microsoft Corporation, el objetivo de ODBC es hacer posible el acceder a cualquier dato desde cualquier aplicación, sin importar qué Sistema Gestor de Bases de Datos (DBMS por sus siglas en inglés) almacene los datos, ODBC logra esto al insertar una capa intermedia llamada manejador de Bases de Datos, entre la aplicación y el DBMS, el propósito de esta capa es traducir las consultas de datos de la aplicación en comandos que el DBMS entienda. Para que esto funcione tanto la aplicación como el DBMS deben ser compatibles con ODBC, esto es que la aplicación debe ser capaz de producir comandos ODBC y el DBMS debe ser capaz de responder a ellos. Desde la versión 2.0 el estandar soporta SAG y SQL.Para conectarse a la Base de Datos se crea una DSN dentro del ODBC que define los parámetros, ruta y características de la conexión según los datos que solicite el fabricante.JDBC es el acrónimo de Java Database Connectivity, un API que permite la ejecución de operaciones sobre bases de datos desde el lenguaje de programación Java independientemente del sistema de operación donde se ejecute o de la base de datos a la cual se accede utilizando el dialecto SQL del modelo de base de datos que se utilice.

No hay comentarios:

Publicar un comentario