Ist odbc multi-thread fähig?

ist odbc multi-thread fähig? Für eine Website, hinter der eine Datenbank steht (Anmeldung, Mitgliederbereich)

Danke im Vorraus!

Hi.

ist odbc multi-thread fähig? Für eine Website, hinter der eine
Datenbank steht (Anmeldung, Mitgliederbereich)

odbc ist wie jdbc eine einfache Direktverbindung zur Datenbank. Wenn du Multithreading - Funktionalität für deine Webanwendung haben willst, mußt du dir diese selber Programmieren.

Wir hatten das exakt gleiche Problem und entwickeln jetzt mit einer Progress Datenbank, dem Progress Application Server und Java um genau das hinzukriegen.

In unserem Fall bietet der AppServer Multithreading und Load Balancing. Dieser greift mit Native-Treibern auf die Datenbank zu.

Wir verbinden uns über Java-Schnittstellen zum AppServer und überlassen ihm die Verteilung der Abfragen.

odbc bzw. jdbc sind in diesem Fall einfach die zweite Wahl, weil diese universellen Datenbankschnittstellen nie so schnell sein können wie die native-drivers vom Datenbankhersteller selbst.

hoffe, geholfen zu haben,

J.P.Jarolim

Hi zusammen,

zum Thema ODBC & multi-threading…
Die Applikation, die ODBC-Calls absetzt, muss natürlich die threads kreieren, der ODBC-Treiber muss aber auch in der Lage sein, mehrere threads zu verkraften. Inzwischen sollte dies jeder ODBC-Treiber können, aber besser vorher abklären! 1996 haben wir eine multi-threading-Applikation entwickelt, nur um dann festzustellen, dass keinen ODBC-Treiber für Oracle gibt, der das abkann…

Performace…
ODBC / JDBC ist eine Zwischenschicht zum native interface des DBMS. Ich habe mal Tests gemacht… Der Performanceverlust bewegte sich in unserem Umfeld in der Größenordnung 2%-4%. (Nur supersimple Queries abgesetzt und Tuppel fetch, transaktionslastiges System)

ciao,
Bernhard

Hi.

Die Applikation, die ODBC-Calls absetzt, muss natürlich die
threads kreieren, der ODBC-Treiber muss aber auch in der Lage
sein, mehrere threads zu verkraften.

Die Frage ist natürlich, wie groß das System dimensioniert ist. Eine lokale Page mit sagen wir mal 2 Zugriffen gleichzeitig - also so um (daumen*PI) 5 SQL-Zugriffen gleichzeitig Peak kann man schon selber mit Threads programmieren. Keine Frage.

Performace…
ODBC / JDBC ist eine Zwischenschicht zum native interface des
DBMS. Ich habe mal Tests gemacht… Der Performanceverlust
bewegte sich in unserem Umfeld in der Größenordnung 2%-4%.
(Nur supersimple Queries abgesetzt und Tuppel fetch,
transaktionslastiges System)

Hast du auch mit komplexeren Joins Performance über ODBC getestet? Würd mich interessieren. Bei uns bricht der JDBC ziemlich ein, wenn einige komplexere Abfragen gleichzeitig stellt. Und das hat man ziemlich oft bei einer so komplexen Sache wie einer Community-Seite.

Aber da kommen wir vom Thema ab. ODBC ist Multithread-fähig.

mfG,

J.P.Jarolim

Hast du auch mit komplexeren Joins Performance über ODBC
getestet? Würd mich interessieren. Bei uns bricht der JDBC
ziemlich ein, wenn einige komplexere Abfragen gleichzeitig
stellt. Und das hat man ziemlich oft bei einer so komplexen
Sache wie einer Community-Seite.

Aber da kommen wir vom Thema ab. ODBC ist Multithread-fähig.

nicht ganz - da wird es doch erst interessant. Bei mir soll
dann eine Mitgliederseite dargestellt werden in der nicht ganz wenig Daten aus der Datenbank gebraucht werden. Könnte das zum Problem werden??

Eine enfache Anmeldeprozedur über 3 Seite und übergabe an die Datenbank dürfte doch auf jeden Fall kein Problem sein, oder?

Vielen Dank im Vorraus

Datenbankzugriff und Datenmengen
Hi.

nicht ganz - da wird es doch erst interessant. Bei mir soll
dann eine Mitgliederseite dargestellt werden in der nicht ganz
wenig Daten aus der Datenbank gebraucht werden. Könnte das zum
Problem werden??

Kommt drauf an, was du alles einbauen möchtest und wie du es realisierst.

Eine enfache Anmeldeprozedur über 3 Seite und übergabe an die

Datenbank dürfte doch auf jeden Fall kein Problem sein, oder?

Das Einloggen ansich ist ja kein Problem. Da werden nur zwei Strings an die DB geliefert und verglichen. Was danach passiert ist aber interessant: Wir z.B. lassen den User die Seiten konfigurieren, die er nach der Anmeldung zu sehen bekommt. Außerdem bekommt er seinem Userprofil entsprechende Daten (News, u.s.w.) geliefert. Da spielt sich schon was ab zwischen JSP-Seite und Datenbank. Besonders, wenn 2-3 Benutzer wirklich gleichzeitig einloggen und die gleiche Seite Anfordern. Dann ist Multithreading und Load-Ballancing gefragt. Wir können es uns bestimmt nicht leisten, einen User länger auf eine Seite warten zu lassen.

Es ist immer die Frage, wieviel Benutzer du einkalkulierst. Besonders: Wie viele gleichzeitig. Außerdem sollte man schon in der Planungsphase ungefähr abschätzen können, wieviele User in einem Jahr auf das Angebot zugreifen… Sonst dimensionierst du das System zu klein und kannst in einem Jahr alles nocheinmal programmiern [sic!].

J.P.Jarolim

Kommt drauf an, was du alles einbauen möchtest und wie du es
realisierst.

Es sollen auf der Seite nur ein paar Daten aus der Datenbank gezeigt werden (Name, Adresse, Telefonnummer, ein paar statistische Daten über seine Mitgliedschaft). Gestalten kann das Mitglied dort nichts!

Danke und bye

Moin,

Die Frage ist natürlich, wie groß das System dimensioniert
ist. Eine lokale Page mit sagen wir mal 2 Zugriffen
gleichzeitig - also so um (daumen*PI) 5 SQL-Zugriffen
gleichzeitig Peak kann man schon selber mit Threads
programmieren. Keine Frage.

Ein Ding ist threadsafe oder nicht, wenn die Anzahl der Threads eine Rolle spielt, ist das Ding nicht threadsafe.

Thorsten

Hi.

Es sollen auf der Seite nur ein paar Daten aus der Datenbank
gezeigt werden (Name, Adresse, Telefonnummer, ein paar
statistische Daten über seine Mitgliedschaft). Gestalten kann
das Mitglied dort nichts!

Überhaupt kein Problem dann. Da reicht sogar ASP.
So ein Zugriff ist in nullkommanix fertig. Da bräuchtest du noch nicht mal Multithreading.

J.P.Jarolim