B-Tree Index
Este es el tipo de índices normal de Oracle, estos índices son los que más se utilizan, están organizados en una estructura de árbol B y por lo general se utilizan para las llaves primarias de manera que se pueda hacer una búsqueda por llave más rápido.
Index Organized Tables
Este es un tipo de índice que nació con la versión 8 de Oracle y se utiliza por lo general para aplicaciones Web debido a que por lo general estas aplicaciones hacen búsquedas de un solo campo por medio de la llave primaria.
Una IOT se define desde su creación, agregando ORGANIZATION INDEX al final de la sentencia CREATE TABLE, y lo que hace es que los datos de la tabla se van guardando dentro del índice, entonces cuando uno hace un SELECT los datos salen ordenados.
Bitmap Index
Los índices de bitmap son muy recomendables en columnas en las cuales los valores ser repiten y representan una división en categorías, por ejemplo columnas como género, estado civil, etc. También son muy recomendables cuando no cambian mucho, aunque sean muy variantes.
Bitmap Join Index
Este tipo de índice, es muy útil en tablas que están relacionadas y hay muchas consultas que hacen Join de estas tablas, al igual que el bitmap index normal, solo se recomienda cuando la cardinalidad de los valores de la columna no es muy grande.
Aparte este tipo de índice, solamente se recomienda en Data Warehose porque son muy rápidos haciendo joins y devuelven los resultados en muy poco tiempo, por el contrario al hacer inserts y updates, tienen consecuencias en el rendimiento.
Domain Index
Estos índices se utilizan para un dominio especializado, se utiliza mucho con dominios de texto o imágenes, ya que en estos índices se utilizan los indextype donde se puede especificar la implementación.
Cluster Index
Este índice consiste en unas tablas que comparten los mismos bloques de datos, utilizan un valor llamado clúster key value que es el valor de las columnas involucradas para una fila en específico.
E clúster key sirve para guardar juntas las filas que tengan el mismo valor y solo guarda una vez cada valor distinto.
Hash Cluster Index
Este índice es muy parecido al anterior, pero se aplica una función de hash al cluster key para poder encontrar las demás filas con el mismo cluster key.
Partitioned tables
Cuando las tablas crecen mucho, acceder a ellas puede significar un bajo rendimiento, por eso surge el concepto de tablas particionadas que es dividir las tablas en partes independientes, se le puede sacar backup independientemente, el rendimiento de las consultas puede aumentar significativamente, y se pueden hacer transacciones paralelas en particiones diferentes.
Es común que las diferentes particiones, se coloquen en un tablespace diferente para optimizar aun más el rendimiento.
Function Based Index
Este tipo de índice es muy sencillo pero muy útil y puede llegar a mejorar los tiempos de respuesta increíblemente. Este índice no es más que un índice B-Tree pero sobre una función, por ejemplo para las consultas dadas para este proyecto se utiliza mucho la función upper entonces cree un índice B-Tree sobre la función upper del campo nombre, entonces en índice están los datos ya con la función upper aplicada.
Patitioned Index
Este es un índice para el cual se definen particiones, exactamente igual que cuando se particiona una tabla, esto se hace con el objetivo de mejorar el tiempo de acceso a los datos cuando el índice es demasiado grande.
Mostrando las entradas con la etiqueta Programacion. Mostrar todas las entradas
Mostrando las entradas con la etiqueta Programacion. Mostrar todas las entradas
miércoles, 10 de junio de 2009
domingo, 5 de octubre de 2008
COECYS 2008
Como todos los años la escuela de ciencias y sistemas de la Facultad de Ingeniería organiza el congreso de estudiantes de ciencias y sistemas COECYS, este año el tema estuvo muy interesante, fue: Calidad en el desarrollo y administración de sistemas informáticos.Asistí a muchas conferencias pero las que me parecieron interesantes y aplicables al comercio electrónico fueron:
ITIL
Seguridad Informática
Minería de datos
Arquitecturas Web
domingo, 11 de noviembre de 2007
Controlar leds desde el puerto paralelo con Java
Esta es una pequeña guía de como enviar información a algún dispositivo a través del puerto paralelo.
Primero que todo tenemos que instalar la javacomm API
El gran dispositivo al que le quiero mandar información es un protoboard con 8 leds para que se enciendan cuando mande un 1 y se apaguen cuando mande un 0.
La construcción en el protoboard es muy sencilla:
Los pines 2-9 que son los del registro de 8 bits, los conectamos al lado positivo del los leds con una resistencia de 470 ohms el pin 25 a todas las patitas negativas de los leds, los pines 10-11 a tierra de una fuente externa y los pines 12, 13, 15 los conectamos a +5v de una fuente externa, estos son pines de estado, y lo que indican es que todo esta normal, para poder enviar los datos. Si no conectamos estos pines así, la API asumirá que hay algún problema y no se enviaran los datos, se quedara la aplicación congelada, en espera que cambie a estado normal. El programa para controlar los leds es este:
Actualización: Este es el diagrama del circuito, solo puse 3 leds, en realidad pueden ser 8 del pin 2 al 9.
Primero que todo tenemos que instalar la javacomm API
El gran dispositivo al que le quiero mandar información es un protoboard con 8 leds para que se enciendan cuando mande un 1 y se apaguen cuando mande un 0.
La construcción en el protoboard es muy sencilla:
Los pines 2-9 que son los del registro de 8 bits, los conectamos al lado positivo del los leds con una resistencia de 470 ohms el pin 25 a todas las patitas negativas de los leds, los pines 10-11 a tierra de una fuente externa y los pines 12, 13, 15 los conectamos a +5v de una fuente externa, estos son pines de estado, y lo que indican es que todo esta normal, para poder enviar los datos. Si no conectamos estos pines así, la API asumirá que hay algún problema y no se enviaran los datos, se quedara la aplicación congelada, en espera que cambie a estado normal. El programa para controlar los leds es este:
import java.io.*;Lo iomprtante en este programa es la linea:
import java.util.*;
import javax.comm.*;
/**
*
* @author juls
*/
public class PruebaLeds {
static CommPortIdentifier idPort;
static ParallelPort pPort;
static OutputStream salida;
private static void iniciarPuerto(String nombrePuerto) throws Exception {
try {
idPort = CommPortIdentifier.getPortIdentifier(nombrePuerto);
pPort = (ParallelPort) idPort.open("Control de Puertos en Java", 0x378);
salida = pPort.getOutputStream();
} catch (Exception e) {
throw new Exception(e.getMessage() + "\n\nLa aplicación se cerrará.");
}
}
public static void main(String args[]) {
try {
iniciarPuerto("/dev/parport0");
System.out.println("Puerto iniciado ...");
System.out.println("Preparandose para escribir en el puerto ...");
salida.write(255);
salida.close();
System.out.println("Escritura sobre el puerto exitosa.");
} catch (Exception e) {
System.out.println(e.getMessage());
System.exit(1);
}
}
}
salida.write(255);porque aqui es donde ponemos el numero que queremos escribir, 255 es en mayor numero que podemos enviarle ya que solo puede escribir 8 bits, con 255 encenderian los 8 leds.
Actualización: Este es el diagrama del circuito, solo puse 3 leds, en realidad pueden ser 8 del pin 2 al 9.
viernes, 24 de agosto de 2007
C en GNU/Linux
El compilador para C que usamos en Linux es GCC que antes significaba GNU C Compiler pero ahora significa GNU Compiler Collection porque ya compila C++ Objective-C, Fortran, Java y Ada.Para compilar en C desde consola tenemos las siguientes opciones:
gcc [-pthread] [-O2] [-wall] [-g] [-c] [-o] fuente.c
Esto es lo que significa cada una:
-pthread
Se usa cuando el programa que vamos a compilar tiene varios threads.
-o2
Se usa para optimizar al compilar. Al depurar un programa no es aconsejable activar esto, para poder seguirlo mejor. Pero el código que se genera sin esta opción es mucho menos óptimo.
-wall
Activa los warnings de compilación. Esta opción se debe usar siempre, porque es muy útil para encontrar errores.
-g
Para incluir información de depuración en el ejecutable. Esta información puede ser usada por el debugger GDB.
-c
Solo compilar para generar el código objeto.
-o
Especifica cómo se llama el archivo de salida.
Si no queremos trabajar en consola, podemos instalar en IDE Anjuta que es muy bueno. Si necesitamos un poco de ayuda para programar en C yo recomiendo este Wikilibro que esta bastante completo.
lunes, 30 de abril de 2007
Java Media Framework
JMF es una API que nos sirve para incluir multimedia en nuestras aplicaciones de Java, funciona básicamente, recibiendo el contenido multimedia de alguna fuente, para después procesarlo y entregarlo en alguna salida multimedia.
Para entender mejor la arquitectura de JMF en la página de Java nos muestran esta imagen, que es muy ilustrativa y nos ayuda a comprender mejor esta API.
La videocámara y el casete de video que se muestran en esta imagen, como fuente de multimedia bien podría ser un archivo mpg y los dispositivos de salida que en la imagen son una televisión y unas bocinas para nosotros serian el applet en el cual vamos a presentar los contenidos multimedia. Lo único que nos haría falta entonces seria el reproductor.
La manera mas sencilla de poner un reproductor en nuestro applet es utilizando el MediaPlayer Bean.
Instanciamos un Media Player, asi:
MediaPlayer player = new javax.media.bean.playerbean.MediaPlayer():
Para decirle al player que archivo queremos reproducir utilizamos la siguiente linea:
player.setMediaLocation(dirección del archivo);
Para iniciar, detener o pausar la reproducción, usamos las siguientes líneas respectivamente:
player.start();
player.close();
player.stop();
Instalación de JMF en Windows
Podemos descargar el instalador de JMF en:
http://java.sun.com/products/java-media/jmf/2.1.1/download.html
Seguimos los pasos del instalador y al final tendremos los Jar de la API y unos ejemplos en: C:\Program Files\JMF2.1.1e y ya lo tenemos instalado, para empezar a utilizar JMF en nuestras aplicaciones solo tememos que incluir estos Jar en el CLASSPATH.
Utilización de JMF en JDeveloper
Para utilizar esta API en JDeveloper, lo único que debemos hacer es incluir todos los .jar que se instalaron en una librería nueva y agregarla a nuestro proyecto.
Plug-in para mp3
Lo podemos descargar en:
http://java.sun.com/products/java-media/jmf/mp3/download.html
Igual que JMF, solo seguimos la instalación, hay que indicarle donde tenemos nuestro JDK y nuestro JRE y listo, después reproducimos un mp3 como si fuera un mpg o cualquier otro archivo soportado por JMF.
Para entender mejor la arquitectura de JMF en la página de Java nos muestran esta imagen, que es muy ilustrativa y nos ayuda a comprender mejor esta API.
La videocámara y el casete de video que se muestran en esta imagen, como fuente de multimedia bien podría ser un archivo mpg y los dispositivos de salida que en la imagen son una televisión y unas bocinas para nosotros serian el applet en el cual vamos a presentar los contenidos multimedia. Lo único que nos haría falta entonces seria el reproductor.La manera mas sencilla de poner un reproductor en nuestro applet es utilizando el MediaPlayer Bean.
Instanciamos un Media Player, asi:
MediaPlayer player = new javax.media.bean.playerbean.MediaPlayer():
Para decirle al player que archivo queremos reproducir utilizamos la siguiente linea:
player.setMediaLocation(dirección del archivo);
Para iniciar, detener o pausar la reproducción, usamos las siguientes líneas respectivamente:
player.start();
player.close();
player.stop();
Instalación de JMF en Windows
Podemos descargar el instalador de JMF en:
http://java.sun.com/products/java-media/jmf/2.1.1/download.html
Seguimos los pasos del instalador y al final tendremos los Jar de la API y unos ejemplos en: C:\Program Files\JMF2.1.1e y ya lo tenemos instalado, para empezar a utilizar JMF en nuestras aplicaciones solo tememos que incluir estos Jar en el CLASSPATH.
Utilización de JMF en JDeveloper
Para utilizar esta API en JDeveloper, lo único que debemos hacer es incluir todos los .jar que se instalaron en una librería nueva y agregarla a nuestro proyecto.
Plug-in para mp3
Lo podemos descargar en:
http://java.sun.com/products/java-media/jmf/mp3/download.html
Igual que JMF, solo seguimos la instalación, hay que indicarle donde tenemos nuestro JDK y nuestro JRE y listo, después reproducimos un mp3 como si fuera un mpg o cualquier otro archivo soportado por JMF.
Suscribirse a:
Entradas (Atom)