Ich habe db4o mit viel Erfolg bei vielen Projekten in der Vergangenheit verwendet. Im Laufe der Zeit scheint es sich stark entwickelt zu haben, und mit modernen Trends wie LINQ in aller Munde hat es wieder mein Interesse geweckt, besonders jetzt, wo ich weiß, dass es transparente Aktivierung und Persistenz unterstützt, die mich ziemlich faszinieren, aber ein Freund Ich habe eine sehr gute Frage an mich gestellt, als ich db4o das erste Mal erwähnt habe, und selbst mit moderner Innovation bin ich mir immer noch nicht sicher, wie ich darauf antworten soll.Berichterstattung mit db4o
Welche sind die besten/schnellsten/gebräuchlichsten Methoden zum Generieren von Berichten, die den großen cross-table Complex Constraint-Berichten ähneln, die auf Plattformen wie SQL so effektiv durchgeführt werden können? Ich verstehe ziemlich gut, wie viel Zeit, Aufwand und Entwicklungszeit gespart werden und sogar viele Leistungsgewinne, besonders über ORMs, aber einige Anwendungen erfordern komplexe Berichte, von denen ich nicht sicher bin, wie ich Objekte und Objektabfragen ausdrücken kann Sorgen um die Leistung, da es überwältigend sein kann, komplexe Berichte selbst auf Systemen zu optimieren und zu warten, die speziell für diesen Zweck entwickelt wurden.
-
Edit:
Um mehr klar, Objektdatenquellen und dergleichen verwendet werden können db4o in die gleichen Daten reiche Kontrollen wie SqlDataSource et al zu ziehen. Ich wurde auf Dokumente auf der db4o-Website verwiesen, um sie mit ReportViewer zu verwenden, und wurde geraten, Daten in eine Berichtsdatenbank zu denormalisieren. Die Frage soll jedoch eine konzeptionelle Herausforderung darstellen, was getan werden kann, um die Arten von Abfragen zu erreichen RDBMS funktionieren so gut, dass sie die Industrie halten. Ich liebe db4o, aber ich kann mir kein wirklich effizientes Mittel vorstellen, um aggregierte Daten über mehrere verschiedene Typen (oder Tabellen in SQL) zu berichten, ohne alle relevanten Objekte aus der Datenbank zu entfernen, sie zu aktivieren und die Berechnungen durchzuführen im Code auf Anwendungsebene. Ich mag mich irren, aber es scheint, als könnte es nicht mit den Optimierungen konkurrieren, die mit einem RDBMS möglich sind.
Ich hoffe, unter den klugen Köpfen, die wir hier gesammelt haben, dass jemand etwas weiß, weiß ich nicht oder hat innovative Ideen für die zukünftige Implementierung, die die ODBMS-Arena erweitern könnte. Ich weiß, dass verschiedene ORMs Methoden für komplexe Berichtsobjekte implementieren, und ich frage mich, ob jemand mit Erfahrung mit einer dieser Technologien etwas Kreatives haben könnte, das nicht von Technologien außerhalb meines Codes und db4o abhängt (ich kann Berichte mit einem erstellen SQL Server allein).
Dieses Problem scheint hauptsächlich mit dem Entwerfen von Berichten auf die gleiche Weise verbunden zu sein, wie relationale Berichte entwickelt werden. Ich denke, eine Lösung für dieses Dilemma besteht darin, sich daran zu erinnern, dass wir kein RDBMS verwenden und dass wir uns einen neuen Ansatz überlegen müssen, anstatt einen quadratischen Stift in ein rundes Loch zu stecken. – TheXenocide