Professional Documents
Culture Documents
INVESTIGAR
6to. SEMESTRE
INTRODUCCION
Una base de datos o banco de datos es un conjunto de datos
pertenecientes a un mismo contexto y almacenados
sistemticamente para su posterior uso. En este sentido, una
biblioteca puede considerarse una base de datos compuesta en
su mayora por documentos y textos impresos en papel e
indexados para su consulta. Actualmente, y debido al desarrollo
tecnolgico de campos como la informtica y la electrnica, la
mayora de las bases de datos estn en formato digital
(electrnico), y por ende se ha desarrollado y se ofrece un amplio
rango de soluciones al problema del almacenamiento de datos
MySQL
En la siguiente figura se muestra la estructura interna de MySQL, ms adelante se
describe el funcionamiento de cada una de sus partes.
Procesador Query
MySQL necesita comprobar el Access Control List para saber si hay el cliente.
- Optimizador De Query
MySQL utiliza el optimizador de la pregunta para ejecutar preguntas del SQL tan
rpidamente como sea posible. Consecuentemente, sta es la razn por la que el
funcionamiento de MySQL es rpido comparado al otro RDBMS. La tarea del
optimizador de la pregunta de MySQL es analizar la pregunta procesada para
considerar si puede aprovecharse de algunas optimizaciones que permitan que
procese la pregunta ms rpidamente.
- Motor De la Ejecucin
Una vez que el optimizador de la pregunta de MySQL haya optimizado la pregunta
de MySQL, la pregunta se puede entonces ejecutar contra la base de datos. Esto
es realizada por el motor de la ejecucin de la pregunta, que despus procede a
ejecutar las declaraciones del SQL y tiene acceso a la capa fsica de la base de
datos de MySQL.
- Gestor de transacciones
Una transaccin es una sola unidad del trabajo que tiene unos o ms comandos
de MySQL en ella. El gestor de transacciones es responsable de cerciorarse de
que la transaccin est registrada y ejecutada atmico.
- Encargado Del Control Concurrencia apropiados de datos en la base de
datos del encargado de recurso.
Una vez que se adquiera la cerradura, slo las operaciones en una transaccin
pueden manipular los datos. Si una diversa transaccin intenta manipular los
mismos datos bloqueados, el encargado del concurrencia-control rechaza la
peticin hasta que la primera transaccin es completa.
Manejador de Almacenado
Estos componentes ilustran las diversas clases de usuarios que puedan obrar
recprocamente con el MySQL RDBMS, que son los administradores, los clientes y
los usuarios de la pregunta. Los administradores utilizan el interfaz y las utilidades
administrativos
PROCESOS EN MYSQL
Observa la lista de procesos para saber qu est haciendo cada usuario y el
estado del proceso, para terminarlo si es necesario.
Este ejemplo termina el ID 895.
mysql>kill 895
Tambin se puede hacer desde la linea de comandos llamando a mysqladmin:
[root@f mysql]# mysqladmin processlist
[root@f mysql]# mysqladmin kill 895
Memoria
Todo mecanismo de funcionamiento tiene unas caractersticas particulares. Las
caractersticas en las que podemos encontrar diferencias entre los distintos
mecanismos de almacenamiento son principalmente:
Prestaciones: las diferencias pueden estar causadas por los hilos mltiples
para operaciones en paralelo, la concurrencia de hilos, la toma de puntos de
control y el manejo de inserciones masivas.
precisa los requisitos ACID que deben satisfacer los mecanismos adecuados a
ellas.
Caractersticas varias: aqu se puede incluir soporte para operaciones geoespaciales y restricciones de seguridad para ciertas operaciones de
manipulacin de datos
PostgreSQL
/etc/postgresql/pg_hba.conf.
Este archivo, junto con /etc/postgresql/postgresql.conf son particularmente
importantes, porque algunos de sus parmetros de configuracin por defecto
# configure --enable-nls enable-locale
Provocan multitud de problemas al conectar inicialmente y porque en ellos se
especifican los mecanismos de autenticacin que usar PostgreSQL para verificar
las credenciales de los usuarios.
Para habilitar la conexin a PostgreSQL desde clientes remotos, debemos verificar
el parmetro tcpip_socket = true en el fichero /etc/postgresql/postgresql.conf.
A continuacin, para examinar los mtodos de autenticacin y las posibilidades de
conexin de clientes externos, debemos mirar el fichero /etc/postgresql/
pg_hba.conf, donde se explicita la accin que hay que emprender para cada
conexin proveniente de cada host externo, o grupo de hosts.
PROCESOS EN POSTGRESQL
En la realidad tendremos seguramente multiples procesos en esta situacin.
Los puntos a seguir sern:
1. Intentar identificar via el sistema operativo los procesos postgres de interes en el
servidor, en nuestro caso los que estn bloqueando el acceso y los que estn
esperando.
Para ello podemos ejecutar este comando para obtener los posibles candidatos a
estar bloqueando:
Ss
Ss
2. Una vez que tengamos informacin sobre los posibles procesos involucrados en el
problema, usaremos PSQL para verificar y obtener mas informacin. Vamos a
utilizar la informacin en los catalogos de sistema pg_stat_activity,
pg_locks ypg_class.
[server:5432/postgres@test001][]# \x
Expanded display is on.
-[ RECORD 1 ]-+-------------------------------------------datid
| 16774
datname
| test001
procpid
| 21954
usename
| postgres
current_query |
in transaction
waiting
| f
xact_start
| 2009-04-30 14:20:27.860236+02
query_start
| 2009-04-30 14:20:41.300738+02
client_addr
| 129.240.10.210
| 49417
-[ RECORD 2 ]-+-------------------------------------------datid
| 16774
datname
| test001
procpid
| 13836
usename
| postgres
| t
xact_start
| 2009-04-30 14:21:34.370305+02
query_start
| 2009-04-30 14:21:45.243395+02
client_addr
| 129.240.10.210
client_port
| 49745
Podemos confirmar que los dos procesos estn accediendo la misma base de datos
y que 21954 empezo antes que 13836. Los datos contenidos en client_addr y
client_port nos servirn ms tarde para averiguar que proceso en la maquina cliente
129.240.10.210 (49417) est usando el proceso 21954 en nuestro servidor.
A continuacin podemos obtener los datos que nos proporciona pg_locks para
confirmar los bloqueos generados por estos dos procesos.
relname
mode
substr
age
| procpid
--------------+------------------+--------------------------------+-----------------+--------tellers_pkey | AccessShareLock
in transaction
| 01:06:41.260819 |
21954
| ExclusiveLock
in transaction
| 01:06:41.260819 |
21954
| ExclusiveLock
in transaction
| 01:06:41.260819 |
21954
| RowShareLock
in transaction
| 01:06:41.260819 |
21954
| ShareLock
13836
| ExclusiveLock
13836
| ExclusiveLock
13836
13836
tellers
tellers
| ExclusiveLock
tellers
13836
13836
(10 rows)
0 129.240.10.210:49417
ESTABLISHED 24509/psql
En la linea obtenida podemos ver al final el numero local del proceso que buscamos
(24509/psql)
0.0
S+
13:53
5. Lo nico que nos queda hacer es contactar con el encargado de este proceso para
que arregle la situacin matarlo controladamente para solucionar todos los
problemas en nuestra base de datos. En muchos casos estamos hablando de scripts
programas que se han colgado y la nica manera de arreglarlos es matandolos.
6.
De vuelta en el servidor de base de datos podemos comprobar que todos los procesos con
problemas de bloqueos han desaparecido despues de matar al causante del bloqueo.
En Windows, cree una variable de entorno del sistema en las propiedades del sistema.
Nombre de la variable: ST_GEOMETRY_OUTPUT_FORMAT
Valor de la variable: ST_GEOMETRY
Despus de configurar la variable, debe reiniciar el cluster de base de datos de
PostgreSQL.
Capacidades de SCC
Montireo en Tiempo Real de Rendimiento y Disponibilidad
SCC brinda capacidades de monitoreo en tiempo real e histrico. Usted puede usar SCC para
monitorear la disponibilidad, estado de recursos y salud golbal de ASE y Replication Server. Los
recursos que se pueden monitorear incluyen procesos, bases de datos, dispositivos, colas, caminos
de replicacin, etc. El acceso a stas estadsticas le permite detectar problemas de aplicacin a
tiempo y de manera precisa, facilitando el afinamiento del ambiente Sybase.
Interfaz Grfica
Ya que SCC es una RIA, todas las caractersticas y funcionalidades son presentadas a travs de una
interfaz grfica construida con Adobe Flash. SCC presenta los "dashboards", grficas, reportes,
vistas y perspectivas que destacan la condicin de los servidores, haciendo que sea fcil distinguir
qu sistemas requieren atencin.
Vista de Topologa
Con servidores en mltiples ubicaciones geogrficas, las asociaciones y conexiones pueden volverse
complejas. La vista de topologa brinda una representacin grfica de dichas relaciones, ilustrando
cmo se encuentran conectados los servidores y cmo interactan unos con otros.
Figura 3 La vista de topologa y el "dashboard" de Replication Server ilustran que una conexin a
ASE
(abajo a la izquierda) est suspendida.
Monitoreo de Procesos
SCC brinda informacin detallada sobre la actividad de procesos y procesos que bloquean,
permitindole ubicar rpidamente procesos que estn evitando que otros se ejecuten. SCC tambin
identifica los procesos que estn consumiendo la mayor cantidad de recursos del servidor, a travs
de una gran variedad de criterios, tales como trfico en la red, I/O de disco y CPU.
Figura 4 Use el men de categoras arriba a la derecha para identificar los procesos que
consumen
la mayor cantidad de recursos.
Monitoreo de Base de Datos
El monitor de bases de datos ASE incluye estado de bases de datos, uso de espacio de datos y log,
asignacin y uso de segmentos, mtricas de uso de objetos y estado de los backups.
Monitores de Cachs
Lo monitores de cachs de datos, procedimientos y sentencias brindan informacin detallada de
mtricas de uso para cada uno de estos recursos clave.
Plataformas Soportadas
Servidor SCC
- Windows x86/x86-64
- Linux x86/x86-64
- HP Itanium
- Sun Solaris Sparc 64-bit
Browser
- Firefox 3.0 on Windows x86/x86-64, Linux x86/x86-64 y Sun Solaris Sparc
- Internet Explorer 6 & 7
Soporte a Productos
- La versin 3.0 soporta ASE 15.0.2 & 15.0.3, Replication Server 12.6 & 15.x
Procesos Sybase
Sybase: memoria
Un lmite de recursos es un conjunto de parmetros
especificados por el administrador del sistema para evitar
consultas y transacciones desde los inicios de sesin o
aplicaciones individuales de monopolizar los recursos del
servidor.
Los lmites de recursos estn obligados a rangos de tiempo,
lo que permite al administrador del sistema define con
precisin cundo deben hacerse cumplir. Cuando el
administrador del sistema modifica un lmite de recursos,
todos los usuarios registrados en ver el cambio, incluyendo
el administrador del sistema
El conjunto de parmetros para un lmite de recursos incluye
la hora del da para hacer cumplir el lmite y el tipo de
accin a tomar. Por ejemplo, puede evitar enormes informes
que se ejecute en momentos crticos del da, o matar a una
sesin cuya consulta produce productos cartesianos no
deseados.
Donde podemos testear los diferentes procesos que se estn ejecutando sobre la base de datos.
Haciendo doble click sobre la lnea, obtenemos informacin (un poco crptica) sobre el proceso.
El smbolo
indica que el proceso se ha ejecutado correctamente. El Smbolo
proceso se encuentra en espera de ejecutarse.
indica que el
Si necesitamos hacer algo sobre una base de datos, como por ejemplo restaurarla y sale un mensaje
que dice que la Base de Datos est en uso, aqu podemos ver quien hay en la Base de Datos y
podemos matar el proceso haciendo:
En la columna Wait Time vemos el tiempo en milisegundos que lleva dicho proceso a la espera de
ejecutarse
Consideramos que todo est correcto si no hay elementos bloqueados. Si despus de dar
reiteradamente a Refresh el mismo proceso sigue bloqueando, podemos considerar que hay un
problema.
Ejecutando exec sp_lock podemos obtener una select de los procesos que se han quedado
bloqueados (se suele ejecutar sobre la base de datos tempdb)
Use las dos opciones de memoria de servidor Memoria de servidor mnima y Memoria de
servidor mxima para reconfigurar la cantidad de memoria (en megabytes) administrada
por el Administrador de memoria de SQL Server para un proceso de SQL Server usado por
una instancia de SQL Server.
Cuando SQL Server utiliza la memoria de manera dinmica, realiza una consulta peridica
en el sistema para determinar la cantidad de memoria libre. El mantenimiento de esta
memoria libre evita la paginacin en el sistema operativo (SO). Si hay menos memoria
libre, SQL Server libera memoria para el sistema operativo. Si hay ms memoria libre, SQL
Server puede asignar ms memoria. SQL Server agrega memoria solo cuando su carga de
trabajo requiere ms memoria; un servidor inactivo no aumenta el tamao de su espacio de
direcciones virtuales.
Vea el ejemplo B sobre una consulta que devuelve la memoria que se est usando en estos
momentos. La memoria mxima del servidor controla la SQL Server asignacin de
memoria, incluidos el grupo de bferes, la memoria de compilacin, todas las cachs, las
concesiones de memoria, el bloqueo del Administrador de memoria y la memoria de clr
(bsicamente, cualquier distribuidor de memoria que se encuentre en
sys.dm_os_memory_clerks). La memoria de pilas de subprocesos, los montones de
memoria, los proveedores de servidor vinculado que no sea SQL Server y cualquier
memoria asignada por un DLL que no sea de SQL Server, no se controlan mediante la
memoria mxima del servidor.
SQL Server usa la API de notificacin de memoria QueryMemoryResourceNotification
para determinar el momento en que el Administrador de memoria de SQL Server puede
asignar y liberar memoria.
Se recomienda permitir a SQL Server utilizar memoria dinmicamente; sin embargo, puede
establecer las opciones de memoria manualmente y restringir la cantidad de memoria a la
que SQL Server puede obtener acceso. Antes de establecer la cantidad de memoria para
SQL Server, determine la configuracin de memoria apropiada restando de la memoria
fsica total la memoria necesaria para el sistema operativo y todas las dems instancias de
SQL Server (y otros usos del sistema, si el equipo no est dedicado totalmente a SQL
Server). Esta diferencia es la cantidad de memoria mxima que puede asignar a SQL
Server.
Nota
Utilice las dos opciones de memoria de servidor Memoria del servidor mnima y Memoria
del servidor mxima para reconfigurar la cantidad de memoria (en megabytes) administrada
por el Administrador de memoria de SQL Server para una instancia de SQL Server. De
forma predeterminada, SQL Server puede cambiar sus requisitos de memoria de manera
dinmica basndose en los recursos del sistema disponibles.
Para optimizar el uso de memoria del sistema para SQL Server se debe limitar la cantidad
de memoria utilizada por el sistema para el almacenamiento en memoria cach de archivos.
Para limitar la memoria cach del sistema de archivos, hay que asegurarse de que no est
activada la opcin Maximizar el rendimiento para compartir archivos. Puede especificar la
cantidad mnima de memoria cach del sistema de archivos seleccionando Minimizar la
memoria usada o Balance.
Esta directiva de Windows determina qu cuentas pueden usar un proceso para mantener
los datos en la memoria fsica, impidiendo que el sistema realice la paginacin de los datos
en la memoria virtual del disco. El bloqueo de pginas en memoria puede mantener el
servidor activo cuando se produce la paginacin en la memoria del disco. La opcin
Bloquear pginas en la memoria de SQL Server est establecida en ON en las instancias de
32 y 64 bits de la edicin SQL Server 2014 Standard y posterior cuando a la cuenta con
privilegios para ejecutar sqlservr.exe se le ha concedido el derecho de usuario "Bloquear
pginas en la memoria (LPIM). En versiones anteriores de SQL Server, establecer la
opcin de bloqueo de pginas para una instancia de 32 bits de SQL Server requiere que la
cuenta con privilegios para ejecutar sqlservr.exe tenga el derecho del usuario LPIM y que la
opcin de configuracin awe_enabled est establecida en ON.
Para deshabilitar la opcin de Bloquear pginas en la memoria para SQL Server, quite el
derecho de usuario Bloquear pginas en la memoria para la cuenta de inicio de SQL
Server.
Cuando est ejecutando varias instancias de Motor de base de datos, existen tres maneras
con las que puede administrar la memoria:
Utilizar max server memory para controlar el uso de memoria. Establezca los
valores mximos de cada instancia, teniendo cuidado de que la asignacin total no
sea mayor que la memoria fsica total de su equipo. Es buena idea proporcionar a
cada instancia memoria proporcional a la carga de trabajo o al tamao de la base de
datos esperados. Este mtodo tiene la ventaja de que cuando se inician nuevos
procesos o instancias, habr memoria libre para ellos de forma inmediata. El
inconveniente es que si no est ejecutando todas las instancias, ninguna de las
instancias que se estn ejecutando podr utilizar el resto de la memoria libre.
Utilizar min server memory para controlar el uso de memoria. Establezca la
configuracin mnima de cada instancia, de manera que la suma de estos mnimos
sea 1-2 GB menos que la memoria fsica total de su equipo. De nuevo, puede
establecer estos mnimos proporcionalmente a la carga de trabajo que se espera por
cada instancia. Este mtodo tiene la ventaja de que si no se ejecutan todas las
instancias a la vez, las que se estn ejecutando pueden utilizar el resto de la
memoria libre. Este mtodo tambin resulta til cuando en el equipo se est
ejecutando otro proceso que consuma mucha memoria, puesto que asegura que SQL
Server recibir, al menos, una cantidad de memoria razonable. El inconveniente es
que cuando se inicia una nueva instancia (o cualquier otro proceso), es posible que
pase algn tiempo hasta que las instancias que se estn ejecutando liberen memoria,
especialmente si para ello deben escribir pginas modificadas en sus bases de datos.
No hacer nada (no se recomienda). Las primeras instancias que se presenten con una
carga de trabajo intentarn asignar toda la memoria. Puede que las instancias
inactivas o las instancias que se inician ms tarde terminen ejecutndose con una
cantidad mnima de memoria disponible. SQL Server no intenta equilibrar el uso de
memoria en todas las instancias. Sin embargo, todas las instancias respondern a las
seales de notificacin de memoria de Windows para ajustar el tamao de su
superficie de memoria. Windows no equilibra la memoria entre las aplicaciones con
la API de notificacin de memoria. Simplemente proporciona informes globales
acerca de la disponibilidad de memoria del sistema.
Esta configuracin se puede cambiar sin tener que reiniciar las instancias; por tanto, se
puede experimentar fcilmente para encontrar la mejor configuracin para el patrn de uso.
Memoria
convencional
64 bits
Ejemplos
Ejemplo A
En el ejemplo siguiente se establece la opcin max server memory en 4 GB:
Copiar
sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'max server memory', 4096;
GO
RECONFIGURE;
GO
Conclusin
Luego de haber concluido este trabajo de investigacin sobre bases de datos fueron muchos los
esfuerzos y conocimientos adquiridos durante dicha elaboracin.
Algunos de los aspectos aprendidos y que de gran peso es la base de datos su definicin,
requerimiento, ventajas y caractersticas donde podemos decir que la base de datos: Es una
coleccin de datos o informacin usados para dar servicios a muchas aplicaciones al mismo
tiempo.
Bibliografa
http://www.monografias.com/trabajos94/motores-almacenamiento-e-indices-mysql/motoresalmacenamiento-e-indices-mysql.shtml
http://es.wikipedia.org/wiki/Mecanismos_de_almacenamiento_(MySQL)
http://www.webtutoriales.com/articulos/ver-lista-de-procesos-en-mysql
http://infodocs.net/articulo/mysql/administracin-de-procesos-en-mysql
http://tallerbd.wikispaces.com/-+Estructura+de+MySQL
http://www.ptolomeo.unam.mx:8080/xmlui/bitstream/handle/132.248.52.100/199/A4.pdf?sequ
ence=4
http://www.postgresql.org.es/node/247
http://www.postgresql.org.es/node/582
http://ocw.uoc.edu/computer-science-technology-and-multimedia/bases-de-datos/bases-dedatos/P06_M2109_02152.pdf
http://manuales.guebs.com/php/function.mysql-listprocesses.html
https://msdn.microsoft.com/es-es/library/ms178067.aspx
http://www.postgresql.org.es/node/582
http://help.arcgis.com/es/arcgisdesktop/10.0/help/index.html#
//002p0000002n000000
http://www.helpdna.net/sqlserver_arquitectura.htm
https://msdn.microsoft.com/es-es/library/ms175518.aspx7
http://www.guillesql.es/Articulos/Como_comprobar_utilizacion_
CPU_SQLServer.aspx
http://es.slideshare.net/CrypticHernndezOrtega/caracteristica
s-microsoft-sql-server