2011-08-01 53 views
0

我即将开始个人项目。这个项目只需要读取相当大量的数据。开始寻找数据库建议的新应用程序

编辑 现在,我得到的数据来源是CSV格式。所以实际上没有数据结构可言。假设它是1个主表,其他表具有指向主表的外键。据大小,我目前的CSV转储大约3 MB。也许这并不像我想象的那么大......

编辑2 对不起,我的数字是关闭的。 3MB大约有半年的数据价值。平均大小约6MB,最大9MB。这将是从20世纪初到今天的数据。

在此应用程序的第一次迭代中不会创建数据。

我一直在阅读很多关于一些NoSql的替代品,我真的很想开始使用其中的一种。

我知道的两个主要的

我的问题是,对于一个应用程序,如这一个,它的技术将是最好的? NoSql或MySql?

此外,如果你可以推荐一个首选的主机,这将是伟大的。

+2

你能提供更多的信息吗?这取决于你正在存储的数据结构是什么以及你通常需要做什么样的查询。 –

+0

共享数据?或本地到您的应用程序? “大”多少? – gbn

+0

更新......这有帮助吗? –

回答

1

鉴于这是一个个人项目:真正的问题就变成了你想要学习的东西吗?

我会说实施你的应用程序都。这样你就可以了解它们的一些优点/缺点。

关于托管。下面有两种一些托管信息:
http://www.mongodb.org/display/DOCS/Hosting+Center

https://cloudant.com/

我从来没有和这两个托管解决方案的工作,所以我不知道他们什么。


另外一件事,我想澄清一下结构化数据的含义。

  1. 数据是否自然地适合行/列?
  2. 记录是否稀疏(意思是说,记录中不同位置是否有很多空值)?
  3. 数据自然是否有查找的共同元素? (外键关系)

如果1 & 3是是,2是no,那么你的结构化程度很高。

如果2是和1 & 3不是,那么你有非常结构化的数据。

其他任何都是某种混合类型,你必须使用你的判断。恕我直言,数据越结构化,您应该使用的传统DBMS越传统。

结构化数据的一个例子是每个地区的日常温度表。你需要一个表来保存临时表,另一个表保存区域名的外键查询。所有的列(收集的温度,日期/时间和区域ID)通常都会被填充。

非结构化数据的一个例子是在杂货店(大,小,红,蓝,4英寸长,盒子等)中找到的产品。这种情况下的属性将取决于所讨论产品的类型。根据商店的不同,他们甚至可能会有一款与其他商品不同的产品。

在RDBMS中有明显的存储方式,但基于文档的NoSql解决方案可能会更好,因为这种类型的信息能够更好地查询功能。

0

取决于你的目标是什么。你没有真正用一种方式描述数据,这种方式表明一种方法比另一种更好。我想说如果你想学习NoSQL,那么继续吧,让这个项目成为实现这个目标的手段。但如果你更关心项目的结果,我会坚持你所知道的。如果你知道SQL,那么继续在SQL中解决这个问题。如果你不这样做,那么无论哪种方式看起来都不错。

相关问题