我有一个WCF应用程序,目前使用基于XML的文件存储来存储用于生成报告的数据.除此之外,处理决策基于存储在这些XML文件中的信息.
我现在正在翻阅大约3万个文本文件.这是令人难以置信的税收,有时候应用程序停止了.
我一直想把XML DAL转向支持RDBMS,但项目经理根本不会允许它.但他们愿意看一下无服务器的解决方案,例如SQLLite.我真的很想直接潜入并开始使用它作为替代DAL(数据访问层).
我需要不超过约20桌以上的整体解决方案,而我希望得到不超过约20万个 - 100 000交易一天,然而,这是极端的,真正的量将在大多数情况下,低于这个.
更新
我不期待大量的同时连接,当我说事务时,我本质上是指1或2个客户端按顺序进行调用并对数据库执行.有时外部客户端可能会快速调用数据库.但是大部分数据库连接将由我的WCF服务完成,这是一项后端计划任务,不能为整个组织的100名员工提供服务.
另一个好处是我只需要保留90天的数据,因此数据库不应该变得太大.
我主要担心的是:
SQLLite的可靠性如何?如果DB文件被破坏怎么办,我将丢失所有处理数据.DB备份有多容易?它会处理我的卷吗?最后.net提供程序的工作情况如何(位于这里:http://sourceforge.net/projects/sqlite-dotnet2/).
如果您对SQLLite有任何经验,请发布您的经验,以便我做出明智的决定是否切换.
提前致谢...
仅对于 End-Of-Day 数据,将有数十亿行。存储所有数据的最佳方式是什么。SQL Server 2008 是否足够好,或者我应该寻找 NoSQL 解决方案,如 MongoDB。有什么建议?
拥有一个具有读/写权限的主数据库和一个或多个用于只读操作的复制,这将是很酷的。只有主数据库将用于将新价格添加到存储中。此外,能够单独复制大多数流行证券的 OHLC 价格以优化读取访问也是很酷的。
然后,这些数据将流式传输到客户机器上的交易平台。
我真的很难在我的应用程序中使用SqlLite;
我已经设置了一个从SQLiteOpenHelper扩展的数据库助手类
public class DatabaseHelper extends SQLiteOpenHelper {
Run Code Online (Sandbox Code Playgroud)
在OnCreate中我创建了大约6个表:
public void onCreate(SQLiteDatabase db) {
db.execSQL("CREATE TABLE myTestTable (Id INTEGER PRIMARY KEY , "
+ "info TEXT," +
+ "TopLeft TEXT")); <-- example insert
}
Run Code Online (Sandbox Code Playgroud)
当我的应用程序启动时,我正在解析一些xml并将数据输入到表中,我已经检查了数据库,所有数据都在那里,我的表格正确创建.
当我去调用数据时,它就消失了!我在dbhelper类和每个活动中有很多不同的查询;我重新启动了类,这样我就可以在类中获取我的函数.
我认为这不是这样做的方式,因为它再次运行我的oncreate并擦除我的所有表(或者至少这是在我尝试从它调用数据并且它为空时我检查数据库时它似乎正在做的时候!
我的印象是oncreate只运行了一次,但显然并非如此,因为它似乎每次都在重新创建我的数据库并擦除我的数据!
你想在哪里初始化dbhelper类,你如何停止重新创建表?即使应用程序关闭,我也需要数据保持不变!
我糊涂了!
如果这没有意义,请询问具体问题我如何澄清它!
UPDATE
我发现我可以添加
CREATE TABLE IF NOT EXISTS
Run Code Online (Sandbox Code Playgroud)
这会阻止它重新创建表格,但是每次调用oncreate似乎都没有.
以下查询适用于本地但不适用于生产:(生产是 heroku 正在运行 postgreSQL,而在本地我正在运行 sqllite 数据库)
红宝石
Tutor.joins(:expertises).where(:expertises => {:subject_id => [2,4]}).group("tutors.id").having("COUNT(*) = 2")
Run Code Online (Sandbox Code Playgroud)
SQL
SELECT "tutors".* FROM "tutors" INNER JOIN "expertises" ON "expertises"."tutor_id" = "tutors"."id" WHERE ("expertises"."subject_id" IN (9)) GROUP BY tutors.id HAVING COUNT(*) = 1 ORDER BY rank DESC)
Run Code Online (Sandbox Code Playgroud)
我在生产 ActiveRecord::StatementInvalid (PGError: ERROR: column "tutors.fname" must出现在 GROUP BY 子句中或在聚合函数中使用时收到以下错误
我的表中有以下值
id :integer not null, primary key
fname :string(255)
lname :string(255)
school :string(255)
major :string(255)
year :string(255)
bio :text
vid :string(255)
price :integer
phone :string(255)
skype :string(255)
address :text …Run Code Online (Sandbox Code Playgroud) 让我解释'哪个'函数的作用:
从GNU-R帮助:
哪些指数是真的?
给出逻辑对象的"TRUE"索引,允许数组索引.
或显示一些代码:(GNU-R开始用1计数索引)
> x <- c(1,2,3,1,3,5);
> which(x == 1);
[1] 1 4
> which(x == 3);
[1] 3 5
> ll <- c(TRUE,FALSE,TRUE,NA,FALSE,FALSE,TRUE);
> which(ll);
[1] 1 3 7
Run Code Online (Sandbox Code Playgroud)
有没有人知道C/C++中的类似功能?
谢谢你的帮助
rinni
我想从MySQL表中检索一组记录作为数组.
到目前为止,我能够将每一行检索为关联数组.但是我想要一个数组中的所有行,因为我必须在jQuery中访问该完整对象才能显示它们.
这是我到目前为止所做的.这是我的.php脚本来检索数据
//select query
$result = mysql_query("SELECT * FROM student",$con) or die (mysql_error());
$numRows = mysql_num_rows($result); //to iterate the for loop
//passing as an associative array
for ($count = 0; $count < $numRows; $count++){
$row = mysql_fetch_array($result, MYSQL_ASSOC);
echo json_encode($row);
}
Run Code Online (Sandbox Code Playgroud)
这就是我目前得到的
{"StuId":"1","fName":"Saman","lName":"Kumara","age":"14","grade":"A"}
{"StuId":"2","fName":"Marry","lName":"Vass","age":"12","grade":"B"}
{"StuId":"3","fName":"Navjoth","lName":"Bogal","age":"32","grade":"A"}
{"StuId":"4","fName":"Jassu","lName":"Singh","age":"22","grade":"E"}
Run Code Online (Sandbox Code Playgroud)
但我希望这个结果集如下.
[
{"TEST1":45,"TEST2":23,"TEST3":"DATA1"},
{"TEST1":46,"TEST2":24,"TEST3":"DATA2"},
{"TEST1":47,"TEST2":25,"TEST3":"DATA3"}
]
Run Code Online (Sandbox Code Playgroud)
我这样做是寻求帮助的.提前致谢.
我知道这取决于系统中可用的内存,也取决于一个好的哈希函数,但一般来说我想知道你使用的最大地图是什么,如果它开箱即用或需要进行任何调整才能使其充分发挥作用.
据我所知,xml架构取代了DTD.这是否意味着它现在已经过时而且不应该使用?我试过看不同的博客但找不到任何东西.
我有以下代码:
String ModifiedDate = "1993-06-08T18:27:02.000Z" ;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
Date ModDate = sdf.parse(ModifiedDate);
Run Code Online (Sandbox Code Playgroud)
即使我的日期格式很好,我也得到以下异常...
java.text.ParseException: Unparseable date: "1993-06-08T18:27:02.000Z"
at java.text.DateFormat.parse(DateFormat.java:337)
Run Code Online (Sandbox Code Playgroud)