Archives mensuelles : décembre 2013

5 predictions on the future of databases (from a guy who knows databases)

Gigaom

Michael Stonebraker is a lightning rod in the database world. He knows his stuff, having helped create some of the most-popular database systems around — Postgres, Ingres and Vertica. One of his most-recent endeavors (among many), VoltDB, is an in-memory OLTP (online transaction processing) system he claims is two orders of magnitude faster than legacy options.

Yet, Stonebraker’s opinions throughout the years have been fairly controversial, garnering support on one hand and vehement opposition on the other. In 2011, for example, he told me that Facebook was trapped in a MySQL « fate worse than death » — and, boy, the backlash came fast and furious.

Stonebraker came on our Structure Show podcast this week to talk about his assessment of the database market as it stands today, including the fate of NoSQL, Oracle and, yes, Facebook’s MySQL installation. Here are some of the highlights, but if anyone into building…

View original post 625 mots de plus

Poster un commentaire

Classé dans DATA

Analyser mes données depuis une simple requete!

En discutant avec les équipes de testeurs, nous avons remarqué que la connaissance des tables systeme d’Oracle pouvait amener des informations fort utiles. La requete qui suit se propose de répondre efficacement à cette problématique. Néanmoins, le prérequis est le calcul des statistiques Oracle à l’issue de l’alimentation. L’étude des statistiques permet ainsi d’obtenir le nombre de lignes dans la table, et pour chaque colonne le type de données, le fait que les null sont autorisés, le nombre de nulls, le nombre de valeurs distinctes, ains que les valeurs mini et maxi contenues. La seule modification à faire à la requete est sur le nom du propriétaire des tables.

Voici la requete:

select tb.owner,tb.table_name,tb.last_analyzed,tb.num_rows,
TC.COLUMN_NAME,TC.DATA_TYPE, nullable,num_nulls,num_distinct,
decode(data_type
,’NUMBER’ ,to_char(utl_raw.cast_to_number(low_value))
,’VARCHAR2′ ,to_char(utl_raw.cast_to_varchar2(low_value))
,’NVARCHAR2′ ,to_char(utl_raw.cast_to_nvarchar2(low_value))
,’BINARY_DOUBLE’,to_char(utl_raw.cast_to_binary_double(low_value))
,’BINARY_FLOAT’ ,to_char(utl_raw.cast_to_binary_float(low_value))
,’DATE’,to_char(1780+to_number(substr(low_value,1,2),’XX’)
+to_number(substr(low_value,3,2),’XX’))||’-‘
||to_number(substr(low_value,5,2),’XX’)||’-‘
||to_number(substr(low_value,7,2),’XX’)||’ ‘
||(to_number(substr(low_value,9,2),’XX’)-1)||’:’
||(to_number(substr(low_value,11,2),’XX’)-1)||’:’
||(to_number(substr(low_value,13,2),’XX’)-1)
, low_value
) low_value,
decode(data_type
,’NUMBER’ ,to_char(utl_raw.cast_to_number(high_value))
,’VARCHAR2′ ,to_char(utl_raw.cast_to_varchar2(high_value))
,’NVARCHAR2′ ,to_char(utl_raw.cast_to_nvarchar2(high_value))
,’BINARY_DOUBLE’,to_char(utl_raw.cast_to_binary_double(high_value))
,’BINARY_FLOAT’ ,to_char(utl_raw.cast_to_binary_float(high_value))
,’DATE’,to_char(1780+to_number(substr(high_value,1,2),’XX’)
+to_number(substr(high_value,3,2),’XX’))||’-‘
||to_number(substr(high_value,5,2),’XX’)||’-‘
||to_number(substr(high_value,7,2),’XX’)||’ ‘
||(to_number(substr(high_value,9,2),’XX’)-1)||’:’
||(to_number(substr(high_value,11,2),’XX’)-1)||’:’
||(to_number(substr(high_value,13,2),’XX’)-1)
, high_value
) high_value

from all_tab_columns tc,
(select owner,table_name,last_analyzed,num_rows
from all_tables
where last_analyzed is not null
and owner like ‘%_IRI_%’
order by last_analyzed) tb
where TC.TABLE_NAME = TB.TABLE_NAME

1 commentaire

Classé dans DATA, RESTITUTION