Une promesse est une promesse

Bonjour,

Cela fait longtemps que ne n’ai pas alimenté ces lignes. J’en suis désolé. C’est donc avec pas mal de matière que je reviens vers vous. De plus, j’ai promis cette publication, dont acte. Les deux présentations ci dessous dressent le paysage de l’offre éditeurs dans les domaines concernés.

No SQL 10082015 slide

Hadoop 23102015 slide

Publicités

Poster un commentaire

Classé dans DATA, HADOOP

Mais c’est une mine!!

A la recherche d’un indice sur l’ancienneté des lignes de données sur Oracle, je n’ai pas trouvé ma réponse, mais suis tombé sur un mine d’informations.

Je ne peux donc pas m’empécher de partager ma trouvaille:

http://www.deep-data-mining.com/

1 commentaire

Classé dans DATA

Nouveautés SAP BusinessObjects BI 4.1 : les bénéfices du SP06

Source : Nouveautés SAP BusinessObjects BI 4.1 : les bénéfices du SP06

Poster un commentaire

Classé dans Uncategorized

CGI décroche un contrat auprès des services du renseignement de l’armée dans le cadre d’un nouvel appel d’offres | CGI.com.

Poster un commentaire

août 20, 2015 · 6:10

Comment assurer une insertion de données consistantes en mode ‘mono taransaction’

http://nztips.com/2012/07/how-to-undo-a-delete-in-netezza/

Poster un commentaire

Classé dans Uncategorized

Oracle, mais ou sont mes données?

Voici le fruit d’une réflexion personnelle fort instructive. Pour certains, un SGBD permet de stocker des données et la manière n’est pas intéressante. Pour moi, tant que je ne comprends pas, j’ai l’impression de ne pas maîtriser.

Ainsi, je me propose de répondre à une question de base : ‘C’est quoi cette ligne?‘. Chaque ligne est identifiée par un ROWID, donnée unique pour l’ensemble de la base de données. On peut le lire ainsi:

select ROWIDTOCHAR(rowid), t.*
from table_perso t
where rownum < 100;

Le résultat est aussi moche qu’indigeste. Essayons plutôt de le faire décoder par le moteur:

select DBMS_ROWID.ROWID_OBJECT(rowid) « DB OBJECT »,
DBMS_ROWID.ROWID_RELATIVE_FNO(rowid) « DB FILE »,
DBMS_ROWID.ROWID_BLOCK_NUMBER(rowid) « DB BLOCK »,
DBMS_ROWID.ROWID_ROW_NUMBER(rowid) « DB ROW »,
t.*
from table_perso t
where rownum < 100;

La c’est bien plus instructif, le résultat désigne la table et le fichier de stockage. On sait donc tout sur cette ligne: comment y accéder et ou elle se trouve. On peut rendre le résultat plus sympa encore; pour obtenir la table, on essaiera :

select *
from user_objects
where DATA_OBJECT_ID=
(
select DBMS_ROWID.ROWID_OBJECT(rowid) « DB OBJECT »
from table_perso t
where rownum = 1
);

On peut faire de même sur le fichier de données; on saura exactement où la ligne est stockée sur le serveur; incroyable, non? Pour ceci, voici la requête:

SELECT *
FROM DBA_DATA_FILES
where FILE_ID in
(
select DBMS_ROWID.ROWID_RELATIVE_FNO(rowid) « DB FILE »
from table_perso t
where rownum = 1
);

Maintenant, on peut imaginer le travail du SGBD. Il transforme l’information contenue dans un gros fichier indigeste en table tout en conservant le lien direct vers chaque ligne d’information. Quand j’exécute une requête, je ne peux qu’admirer le travail du moteur…

1 commentaire

Classé dans DATA

Optimisez, bon dieu, optimisez!!!

En surfant sur la toile, j’ai trouvé un petit document concernant l’optimisation de requêtes SQL.

Ce n’est pas une bible, mais il décrit, pour de nombreuses commandes les processus mis en oeuvre, et j’ai bien apprécié.

http://www.cocktail.org/gedfs/courrier/34703/SQL_optimizer.pdf

Poster un commentaire

Classé dans DATA