Quelques trucs intéressants (01/08/2010)
Cette fois-ci, divers sujets :
- .NET
- Debug / Network Monitor
- SQL Server
.NET
- Stream.CopyTo Method (MSDN Library)
Apparue avec .NET 4 : la méthode qui fait pour vous l'opération de lecture sur le flux source et écriture sur le flux de destination.
Pratique pour éviter de faire soi-même la boucle de lecture/écriture quand on n'a absolument rien à faire avec les données entre les deux phases.
Debug / Network Monitor
SQL Server
- SQL Server - Count(*) or Count(1) ? - Which is better? (blog de Dave Ballantyne)
Une petite piqûre de rappel sur ce type de sujet ne fait jamais de mal.
Au passage, autre rappel : COUNT(MaColonne) n'est PAS équivalent à COUNT(*) (ou COUNT(1)), sauf si la colonne "MaColonne" ne peut recevoir de valeurs indéfinies (la colonne est définie NOT NULL).
Si pour la colonne "MaColonne" des enregistrements contiennent des valeurs non définies (NULL), elles ne seront pas comptées dans le total.
Dans ce cas là, la valeur de COUNT(MaColonne) sera égale à celle de COUNT(*) moins le nombre de valeurs indéfinies pour la colonne "MaColonne".
Souvenez vous, le fameux message "Warning: Null value is eliminated by an aggregate or other SET operation." ;-)
Divers
- Jeux de données : The CFReDS Project et Digital Corpora Govdocs1 (via Greg Duncan)
CFReDS et Digital Corpora sont à la base orientés investigation, mais il n'en reste pas moins que certains jeux de données peuvent servir à autre chose, comme par exemple le jeu "Govdocs1" et son quasi million de fichiers de divers types (on parle d'environ 300Go d'archives zip).
Travailler sur un jeu de données réelles ça peut sans doute servir, mais peut être dangereux : à vos risques et périls. Et il va falloir se pencher sur les éventuelles clauses légales pour ce qui est de l'exportation et de l'exploitation des fichiers en dehors de leur pays d'origine etc... - Scaling Facebook to 500 Million Users and Beyond (Facebook Engineering's Notes)
Ca se laisse lire, et c'est parfois utile de se tenir au courant des informations données par ceux qui font face à de tels niveaux de charge.
Même si on a peu de chances d'arriver à une situation similaire (une charge énorme avec des données très dynamiques), certaines choses mises en oeuvre sur de tels projets peuvent être utilisées sur des projets plus modestes (notamment pour les cas où le succès de ces projets dépasserait toutes les espérances).
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :