Glorf.it

Glorf IT

Bedenkliches aus dem IT-Alltag

12. Dezember 2007 um 18:35

Aktuelle Anforderungsliste an Windows 7

Mein Kollege Matthias machte mich heute darauf aufmerksam, dass im November offenbar eine aktualisierte Anforderungsliste an Windows 7 rausgeleckte. Im Juli wurde schon mal eine Fassung verteilt, wie z.B. in einem Vista-Forum, aber die Neue wurde um weitere Punkte ergänzt.

Ich glaube allerdings, die Seite neowin.net wird gerade überrannt. Sie ist jedenfalls ziemlich langsam…

Dort gibt es die Liste als Bitmap. (Warum als Bitmap?)

Eigentlich betreffen fast alle Features nur irgendwelche Utilities. Aber daran sieht man, was die Anwender wirklich interessiert/stört…

Schau mal hier.

10. Dezember 2007 um 18:52

Insolvenzen im September 2007

Wenn man sich die Tabelle zu den Insolvenzen im September 2007 an sieht, die vom Statistischen Bundesamt veröffentlicht wurden, dann fällt auf, dass im Vergleich zum Vorjahr ein Minus von 6% angegeben wird.

Das liegt aber nur daran, dass in diesem Jahr ein paar Bundesländer nicht mitgezählt werden:

Die Länder Nordrhein-Westfalen und Saarland haben für das Jahr 2006 Korrekturen ihrer Insolvenzzahlen angekündigt. Außerdem wurden für Hamburg im zweiten Halbjahr 2006 die Insolvenzfälle nicht periodengerecht zugeordnet. Aus diesen Gründen können sämt­liche Veränderungsraten für Deutschland, die sich auf Ergebnisse des Jahres 2006 be­ziehen, bis auf weiteres nur ohne Berücksichtigung der Insolvenzmeldungen dieser Länder berechnet werden.

Die Vorjahreszahl enthält (laut Fußnote) nicht die Werte für NRW, Saarland und Hamburg, die aktuelle Zahl hingegen doch. Was soll das? Um seriös zu sein, hätten die Experten wenigstens in einer zusätzlichen Vergleichsspalte die Bundesländer für das aktuelle Jahr ebenfalls rausnehmen sollen. Warum wurde das nicht getan?

  • Haben die keine anständige Datenbank mit der sich die aktuellen Werte auswerten lassen?
  • War es nicht wichtig genug, was meist mit "keine Zeit" beschrieben wird?
  • Ist den Experten der Gedanke nicht gekommen?

Das würde mich schon mal interessieren. So kann ich aus den Werten jedenfalls keine seriösen Vergleiche rausziehen… 🙁
Und dabei deutet sich eine recht positive Bilanz an. Schade.

Bitte hier selber eine Meinung bilden…

5. Dezember 2007 um 19:17

Blockierungen bei Updates auf unterschiedlichen Datensätzen

Die Frage lautete:

Auf Verbindung 1 wird in einer etwas längeren Transaktion (ja, macht man nicht, aber nur mal angenommen..) der Datensatz mit ID "0815″ geändert.

Auf Verbindung 2 wird jetzt ein UPDATE-Befehl auf den Datensatz mit der ID "4711″ abgesetzt (… WHERE ID = 4711).

Geht der UPDATE auf der Verbindung 2 glatt durch oder wird er von Verbindung 1 blockiert?

Das kommt darauf an….

Tabelle ohne Index

Gehen wir mal davon aus, die Tabelle ist ein Heap, also eine Tabelle ohne Clustered Index, außerdem sind gar keine Indexes darauf. Dann muss der SQL-Server wohl oder übel einen Table-Scan durchführen um die betroffenen Sätze zu finden. Dazu liest er jeden Satz durch. Auf den gerade untersuchten Satz wird eine Update-Sperre (U) gesetzt. Ist der Datensatz betroffen, dann wird sie ein eine Exklusiv-Sperre (X) umgewandelt, sonst sofort wieder freigegeben.

Wegen des Table-Scan versucht Verbindung 2 auch den Satz mit ID 0815 zu lesen (er liest alle Sätze der Tabelle). Der ist schon gesperrt, daher wird die Verbindung blockiert. Der zweite muss warten und versteht nicht warum… 😉

Der SQL-Server-2005 verwendet hier übrigens Satz-Sperren, während der 2000er generell beim Table-Scan Seitensperren verwendete. In den anderen unten genannten Fällen verhalten sich die Systeme gleich.

Tabelle mit Index

Hat die Tabelle einen Index auf dem Suchfeld (hier ID), dann sieht es anders aus. Sowohl bei einem Clustered-Index als auch einem normalen Index kann der SQL-Server den Datensatz direkt mittels Index-Seek anspringen.

Daher tritt hier keine Blockierung auf.

Tabelle mit Index, Suche über zwei Felder

Angenommen wir filtern nicht über die ID, sondern über zwei Felder, z.B. Kundennummer und laufende-Nummer (… WHERE KDNR=4711 AND LFDNR=10). Nur auf einem davon ist ein Index: Auf der Kundennummer liegt ein nicht-eindeutiger Index, pro Kundennummer kann es zig laufende Nummern geben.

Dann macht der SQL-Server zwar einen Index-Seek auf alle Sätze mit KDNR=4711, aber er muss für alle potentiell betroffenen Sätze nachsehen, welchen Wert LFDNR hat. Daher wird auch hier eine Blockierung auftreten, wenn zufällig ein anderer Satz mit der gleichen Kundennummer schon exklusiv gesperrt ist.

Resümee

Ob es bei zwei UPDATEs auf unterschiedlichen Datensätzen zu einer Blockierung kommt oder nicht, hängt ganz allein vom Zugriffsplan des "Zweiten" ab. Der Nutzen der richtigen Indexe kann gar nicht hoch genug bewertet werden.

Und wie schon Cato sagte: Transaktionen müssen immer so kurz wie möglich sein.

Ausschlussklauseln

  • Das Geschriebene gilt auch für DELETEs.
  • Man kann die Blockierung nicht wirklich umgehen. Man kann lediglich mittels READPAST angeben, dass gesperrte Datensätze übersprungen werden. Das macht aber wirklich nur dann Sinn, wenn es wirklich egal ist, ob alle vom UPDATE oder DELETE betroffenen Datensätze geändert werden.
  • Wenn man den Isolation-Level "SNAPSHOT" verwendet, dann könnte es anders sein, das habe ich nicht ausprobiert.
  • Wenn man SERIALIZABLE verwendet, dann ist es ähnlich nur schlimmer, weil dann jede Menge RangeS-U-Locks gesetzt werden. Aber wann macht man schon SERIALIZABLE bei UPDATEs oder DELETEs?
5. Dezember 2007 um 19:15

Buch über "Visual Basic 2005" zum Download

Derzeit gibt es das Buch "Microsoft Visual Basic 2005 – Das Entwicklerbuch" von Klaus Löffelmann bei Microsoft zum kostenlosen Download: Teil 1 jetzt, TEil 2 kommt in zwei Wochen. Es kostet im Microsoft Press Shop aktuell stolze 59 Euro.

Ich werde mal reinschauen. Meine Tochte mochte gerne lernen, wie man selber Spiele programmiert und ich ringe mit mir, was ich ihr beibringe: C# oder VB. C# kann ich ganz gut, aber VB soll leichter sein (was ich aber erst mal selber lernen müsste). Vielleicht hilft mir das Buch bei der Entscheidung.

via MSDN Flash 25/2007
5. Dezember 2007 um 19:03

Gulp bleibt Gulp

Als Kind las ich sehr gerne die Walt-Disney-Taschenbücher. Dort machte Donald immer dann "GULP", wenn er schwer schlucken musste, weil ihm etwas Schlimmes bevorstand. Heute ist das vermutlich nicht mehr so, denn heute heisst eine Firma "Gulp". Die Firma wurde verkauft und deswegen bekam ich eine Mail, die so endete (Name entfernt):

Fazit: GULP bleibt GULP. In diesem Sinne freue ich mich auf die weitere
erfolgreiche Zusammenarbeit mit Ihrem Hause.

Vielen Dank und beste Grüße.

K… T…..<http://www.gulp.de/mailings/images/ct_unterschrift.jpg>

Wenn man unter der angegebenen Mailadresse nachschaut, dann sieht man tatsächlich die Unterschrift des Absenders. Das haut mich total von den Socken. Der Absender riskiert damit, dass jemand mit einfachsten Mitteln Dokumente mit seiner Unterschrift produziert. Wenn er sie dann auch noch faxt, dann kann der Empfänger zunächst mal nicht feststellen, dass es sich um eine Fälschung handelt! Da würde ich auch "GULP" machen… 😉

Oder kann man bei solchen Gelegenheiten (also öffentlich im Internet) so unterschreiben, dass das nicht als geschäftsfähige Unterschrift gilt, z.B. indem man das Ende des Namens sehr undeutlich schreibt?

4. Dezember 2007 um 22:52

Updates auf unterschiedliche Datensätze: klare Sache?

Preisfrage zum SQL-Server:

Auf Verbindung 1 wird in einer etwas längeren Transaktion (ja, macht man nicht, aber nur mal angenommen..) der Datensatz mit ID "0815" geändert.

Auf Verbindung 2 wird jetzt ein UPDATE-Befehl auf den Datensatz mit der ID "4711" abgesetzt (… WHERE ID = 4711).

Geht der UPDATE auf der Verbindung 2 glatt durch oder wird er von Verbindung 1 blockiert?
Wer wagt eine Prognose?

UPDATE: Hier steht die Antwort…

4. Dezember 2007 um 22:43

Framework für Datenbank-Trafos

Bei "RikMigrations" findet man ein Framework für Datenbank-Trafos. Echt spannend.

Ich habe es mit aber nicht wirklich angeschaut, weil wir gerade untersuchen, ob wir zukünftig die Windows-Workflow-Foundation (WF) (und hier) bei Trafos verwenden. Die finde ich gerade extrem cool.

Vorher war ich auf den Tripp die SQL-Server-Integration-Services zu verwenden. Aber leider ist darf man die ja nicht einfach auf jedem Client installieren. Man benötigt schon eine Standard-Edition. Da aber etliche unserer Kunden die Express-Edition verwenden…

4. Dezember 2007 um 00:12

SQL Server 2005 Books Online (September 2007)

Die neue Ausgabe der Books-Online ist erschienen. Zur großen Verwirrung aller großen Geister erschien am 30.11. die September-Ausgabe der Books-Online.

Da sind sie: SQL Server 2005 Books Online (September 2007)

Danke an meinen Kollegen Matthias
3. Dezember 2007 um 23:40

Wie ist meine IP-Adresse?

Wen mal interessiert, unter welcher IP-Adresse er im Internet gerade unterwegs ist, der kann sich bei showip.net schlau machen.

Als ich danach bein Google suchte, wurde ich fast erschlagen mit lauter Adressen, die mit die IP-Adresse anzeigen. Die obige gefällt mir deswegen gut, weil sie auch andere Infos anzeigt, wie den "network owner". Allerdings ist bei mir der Ort falsch geraten. Der hat bei "ueber-mich.com" gestimmt.

2. Dezember 2007 um 12:05

pyramidal war gestern, heute sind wir Diamanten

Über einen Link bei Technorati wurde ich auf die CNet-Studie "Understanding Influence, and Making It Work For You: A CNET Networks Study" aufmerksam

The best-seller lists are filled with books about the major theoretical frameworks of influence: Keller and Berry’s “The Influentials,” Gladwell’s “The Tipping Point,” and Barabàsi’s “Linked,” to name a few. The concept of networks as outlined in these books diverges widely, from “powerful few” models in which a small proportion (roughly 1 in 10) of highly-connected individuals have all the influence, to multi-segmented models where a variety of actors have a role, to broader models of social networks that assume everyone is important.

Deren Studie ergab, dass der Informationsfluss weniger mit einer Pyramide zu vergleichen ist, sondern eher mit einem Diamanten. Diejenigen mit relativ wenigen Verbindungen üben doch erheblich mehr Einfluss auf, sagen sie. Ich – als Normalo – finde das natürlich sympatisch, bin aber wohl nicht ganz objektiv… 😉

1. Dezember 2007 um 14:26

Advent, Advent, der Download rennt

Derzeit grassieren wieder die Online-Adventskalender. Dank einschlägiger Bausteine jeder ohne großen Aufwand einen eigenen auf seine Homepage stellen. Ich habe mal versucht aus der Masse ein paar Perlen anzustrahlen:

Update (fast alles von Tobbi):

Ich notiere die anderen Adressen auch mal hier, dann kann ich da ab und an mal längst surfen…