Frage

Ich bin ein wenig Projektplan zu entwickeln und ich kam zu einem Punkt, wenn ich brauche, um zu entscheiden, welches System lokale databse zu verwenden.

Die Eingabedaten werden auf Webserver gespeichert werden (Hosting - MySQL DB). Die Idee ist, einen Prozess zu bauen, alle erforderlichen Daten (zum Beispiel um Mitternacht) herunterzuladen und zu verarbeiten. Allerdings gibt viele Eingänge und Stufen der Verarbeitung sein werden, so dass ich eine Art von lokaler Datenbank verwenden, um das Halbprodukt der Anwendung zu speichern

Welche lokalen Datenbanksystem würden Sie empfehlen, mit C # (.NET) Anwendung zu arbeiten?

bearbeiten. Das Endprodukt (Information) leicht zurück zum Hosting MySQL DB exportiert werden soll

Wie Will erwähnte in seiner Antwort - ja, ich bin für eine Leistung und den Komfort der Verwendung

.
War es hilfreich?

Lösung

Ich will Microsoft SQL Server 2005 Express sagen, wie es (fast) wie die offensichtliche Wahl kommt, wenn in .NET entwickeln.

Aber es hängt alles davon ab, welche vorherigen db Fähigkeiten, die Sie haben. Wenn Sie bereits MySql kennen und wie Sie bereits gesagt, sollten die Daten zu MySql exportierenden zurück. Warum nicht verwenden MySql den ganzen Weg?

Andere Tipps

Für eine schnelle und dreckig, dass ich gehen würde mit SQL Server Compact Edition. es ist eine in-Prozess-Implementierung von SQL Server, so ist es erforderlich, dass Sie keine andere Anwendungen installiert werden.

Zurück in den Tag, dann würden Sie eine Access-Datenbank für diese Art der Sache nutzen. Aber Access-Datenbanken irgendwie blasen.

Es wäre nicht nehmen viel Ihre fertigen Daten zurück auf den Produktionsserver zu laden. Wenn Sie nach einer Lösung suchen, die diesen Prozess automatisiert, müssen Sie wahrscheinlich lokal an Hosting eine Instanz von MySql suchen und verwenden, was die Replikation von ihnen erbrachten Dienstleistungen.

Ich sage gehen mit SQL Server Compact Edition. Es ist echt ähnlich wie die ausgewachsene Version von SQL Server, und VS2008 hat eingebaute Unterstützung Tabellen für die Gestaltung, Abfragen usw. (Management Studio 2008 hat auch Unterstützung für sie). Der größte Nachteil ist, dass Sie auf gespeicherte Prozeduren verlieren, aber der Kopf ist groß, da es keine Notwendigkeit, irgendetwas auf dem lokalen Benutzer Rechner zu installieren, und es funktioniert wirklich schnell um die Daten auszuwählen. Noch cooler ist, dass mit SQL Metall, können Sie eine DBML-Datei erstellen und LINQ verwenden, gerade wie Sie mit SQL Server.

Wie wäre es db4o mit? Es ist ein OODB Sie in Ihre Anwendung einbetten können. Auch unterstützt Replikation . Edit: Als Randnotiz - In meinem aktuellen Lieblingsprojekt mit db4o Ich habe eine Linie (C # 3.5):

IList<Users> list = Persistence.Database.Query<Users>(u => u.Name == "Admin");

Mit stark typisierten Lambda-Ausdruck eine (faul) Liste von Objekten aus der Datenbank zu erhalten. Es verwendet auch Indizes die Liste schnell abgerufen werden.

MS SQL Server-Unterstützung kommt aus der Box ohne weitere Treiber oder Setup erforderlich. Auch MS SQL Server Express ist kostenlos.

Sie können Skripts erzeugen, die die Daten in / aus MySQL exportieren wird.

Die "offensichtlich" Wahl wäre MS SQL Server Express sein. VS und .net beide unterstützen nativ und wenn Sie Erfahrung damit haben bereits (für die Haupt DB), würde ich auf jeden Fall versucht sein, mit ihm zu haften (oder seiner Express-Version).

Aber das ist sicherlich nicht das Ende Ihrer Optionen. Ich benutze SQLite viel für Cross-Plattform-Anwendungen und Web-Anwendungen. Es ist ins Auge wateringly-schnell und es macht integriert ziemlich gut durch System.Data.SQLite - wenn auch nicht so fest wie MS SQL Server.

Es gibt auch eine Compact-Edition von SQL Server, die sehr gut zu SQLite vergleicht.

alles auswählen, die verfügbar ist, aber Code gegen Schnittstellen nur, dass die Art und Weise Sie leicht zwischen ihnen wechseln.

Für die Produktion, ich würde sagen, entweder MS SQL für große Projekte, (oder für Mid-Level-Express) nur aufgrund der engen Integration mit VS und SQLite für kleinere Projekte.

die Beschreibung gegeben, würde ich denken, dass SQLite eine gute Wahl sein würde, da es die einfachste / niedrigste Overhead ist.

Ich weiß nicht, von einer guten In-Prozess-Datenbank, die vollständig Syntax und Typ kompatibel mit MySQL ist. Mit dem im Verstand, haben Sie drei Möglichkeiten:

  1. Wählen Sie so etwas wie SQLlite, Access oder SQL Server Compact. Das Problem ist, dass man das mit einem der einig komplexen Konvertierungslogik Schreiben am Ende dann und hat alle zweimal Ihre Anfragen zu schreiben.
  2. Installieren MySQL lokal. Dann müssen Sie mit mit einer vollständigen Datenbank-Server setzen auf dem lokalen System ausgeführt werden. Sie wollen auf jeden Fall das Sie an einen Kunden versenden, um alles zu vermeiden, aber für den eigenen Gebrauch könnte es in Ordnung sein. Zum Glück ist MySQL nicht so viele Ressourcen wie einige andere moderne Datenbankserver verwenden, aber das ist immer noch weniger als ideal.
  3. Wechseln Sie zu SQL Server Express Edition auf dem Server und verwenden Sie SQL Server Compact auf dem Client. Es ist nur so billig wie MySQL (vielleicht sogar billiger, da Sie Kauf MySQL für kommerzielle Zwecke sollten sind). Bedenkt man, dass Sie C # am Client verwenden, können Sie es mit ASP.Net auf der Serverseite als auch verwenden. Und wenn Sie ASP.Net Server-Seite verwenden, dann ist es nicht schwierig, einen Host zu finden, die SQL Server Express bietet. Jetzt ist Ihre Datenbanken sind Typ kompatibel und jede Abfrage, die Sie für Sie Client schreiben ist garantiert auch für Ihren Server arbeiten.

IMO, eine der großen Stärken des MS-Datenbank-Stack (ohne Zugang) ist, dass sie eine kompatible Lösung haben für alles, was Sie von dem Desktop auf dem ganzen Weg tun Multi-Rechenzentrum Clustern. Wenn Ihre App-Skala ändert oder Sie benötigen, um Daten zwischen zwei verschiedenen Klassen von App zu versenden, wird Ihre Datenbankschicht gesorgt.

Ich habe als in der letzten Zeit einige Tests getan und obwohl ich auch SQL Server 2005 (Express, wenn erforderlich) empfehlen würde, weil es aus der Box funktioniert, obwohl SQL Server 2008 ist neu und RTM'd jetzt.

SQL Server, da die meisten erwähnt haben ... Mein Grund wäre cos Sie die Quellcodeverwaltung verwenden können, die Testfälle von C # Datenbank zu integrieren ....

Team Foundation (TFS) ist eine solche von Microsoft mit GUI ...

Da diese bereits beantwortet wurde. Ich muss erwähnen, wenn sie mit CLR Sprachen, CLR / .NET Framework Integration setzt MS SQL Server 2005/2008 abgesehen von dem Rest arbeiten. Nach Auszug aus hier .

  

Mit Sprachen wie Visual verwenden   Basic .NET und C # können Sie profitieren   auf CLR-Integration Code zu schreiben,   hat komplexere Logik und ist   für Rechenaufgaben geeignet.   Zusätzlich Visual Basic .NET und C #   bieten objektorientierte Fähigkeiten   wie Einkapselung, Vererbung,   und Polymorphismus. Sie können ganz einfach   organisiert zugehörigen Code in Klassen und   Namensräume, die, dass Sie Mittel   leichter organisieren und pflegen Sie Ihre   Code Investitionen, wenn Sie arbeiten   mit großen Mengen von Code. Das   Fähigkeit, logisch und physikalisch   organisieren Code in Baugruppen und   Namensraum ist ein großer Vorteil, dass   ermöglicht es Ihnen, besser zu finden und beziehen   verschiedene Teile des Codes in einem großen   Datenbank-Implementierung.

Für das, was Sie beschrieben, auf jeden Fall MS SQL Server. Gute Leistung, gute Werkzeuge. Kostenlos.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top