【转载】常⽤数据存储格式介绍
本⽂介绍⼀些常⽤的数据存储格式,包括TXT, Excel, CSV, XML, JSON 和数据库 (典型的如关系数据库 MySQL, NoSQL 数据库 MongDB 等 )。
Text/Excel ⽂件
  Text ⽂本⽂档⽂件,扩展名 .txt,要注意其编码⽅式。
  Excel 电⼦表格格式,扩展名 .xls 或 .xlsx。
  ⽇常的⽂本、数据存储和处理⽂件。
CSV 格式
  ,有时也称为字符分隔值,因为分隔字符也可以不是逗号。其⽂件以纯⽂本形式存储表格数据(数字和⽂本)。纯⽂本意味着该⽂件是⼀个字符序列,不含必须像⼆进制数字那样被解读的数据。CSV⽂件由任意数⽬的记录组成,记录间以某种换⾏符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。
Example - Movies.csv
The Hobbit:The Battle of Five Armies,2015,America
Transformers: Age of Extinction,2014,America
Lucy,2014, America
python json字符串转数组Intouchables,2011,France
  4条记录,每条记录为电影名,上映时间,国家,⽤“,”分隔。
XML 格式
“当 XML(扩展标记语⾔)于 1998 年 2 ⽉被引⼊软件⼯业界时,它给整个⾏业带来了⼀场风暴。有史以来第⼀次,这个世界拥有了⼀种⽤来结构化⽂档和数据的通⽤且适应性强的格式,它不仅仅可以⽤于 WEB,⽽且可以被⽤于任何地⽅。”
——《Designing With Web Standards Second Edition》, Jeffrey Zeldman
  ,是⼀种标记语⾔,扩展名 .csv。标记指计算机所能理解的信息符号,通过此种标记,计算机之间可以处理包含各种信息的⽂章等。如何定义这些标记,既可以选择国际通⽤的标记语⾔,⽐如HTML,也
可以使⽤像XML这样由相关⼈⼠⾃由决定的标记语⾔,这就是语⾔的可扩展性。XML是从标准通⽤标记语⾔(SGML)中简化修改出来的。它主要⽤到的有可扩展标记语⾔、可扩展样式语⾔(XSL)、XBRL和等。但 XML 需要存储标签,需要额外的内存。
  查看。
Example - l
<bookstore>
<book category="COOKING">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="CHILDREN">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="WEB">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>
  例⼦中的根元素是 <bookstore>。⽂档中的所有 <book> 元素都被包含在 <bookstore> 中。<book> 元素有 4 个⼦元素:<title>、<author>、<year>、<price>。JSON 格式
  是⼀种轻量级的数据交换格式,扩展名 .json。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的⼀个⼦集。 JSON采⽤完全独⽴于语⾔的⽂本格式,但是也使⽤了类似于C语⾔家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语⾔。易于⼈阅读和编写,同时也易于机器解析和⽣成(⽹络传输速度快)。
  JSON 是存储和交换⽂本信息的语法,类似 XML。JSON ⽐ XML 更⼩、更快,更易解析。
  查看。
Example - employees.json
{
"employees": [
{ "firstName":"Bill" , "lastName":"Gates" },
{ "firstName":"George" , "lastName":"Bush" },
{ "firstName":"Thomas" , "lastName":"Carter" }
]
}
  这个 employee 对象是包含 3 个员⼯记录(对象)的数组。
MySQL
  是最流⾏的关系型数据库管理系统,在WEB应⽤⽅⾯MySQL是最好的RDBMS(Relational Database Management System:关系数据库管理系统)应⽤软件之⼀。
  MySQL是⼀个关系型数据库管理系统,由瑞典MySQL AB公司开发,⽬前属于Oracle公司。MySQL是⼀种关联数据库管理系统,关联数据库将数据保存在不同的表中,⽽不是将所有数据放在⼀个⼤仓库内,这样就增加了速度并提⾼了灵活性。MySQL 主要有⼀下特点:
MySQL是开源的,所以你不需要⽀付额外的费⽤。
Mysql⽀持⼤型的数据库。可以处理拥有上千万条记录的⼤型数据库。
MySQL使⽤标准的SQL数据语⾔形式。
MySQL可以允许于多个系统上,并且⽀持多种语⾔。这些编程语⾔包括C、C++、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。
MySQL⽀持⼤型数据库,⽀持5000万条记录的数据仓库,32位系统表⽂件最⼤可⽀持4GB,64位系统⽀持最⼤的表⽂件为8TB。
MySQL是可以定制的,采⽤了GPL协议,你可以修改源码来开发⾃⼰的Mysql系统。
  查看。 
MongDB
  是⼀个⾼性能,易部署,开源,⽆模式的⽂档型⾮关系数据库,是当前NoSql数据库中⽐较热门的⼀种。它在许多场景下可⽤于替代传统的关系型数据库或键/值存储⽅式。Mongo使⽤C++开发。
-
什么是NoSql?
NoSql,全称是 Not Only Sql,指的是⾮关系型的数据库。下⼀代数据库主要解决⼏个要点:⾮关系型的、分布式的、开源的、⽔平可扩展的。原始的⽬的是为了⼤规模w eb应⽤,这场运动开始于2009年初,通常特性应⽤如:模式⾃由、⽀持简易复制、简单的API、最终的⼀致性(⾮ACID)、⼤容量数据等。NoSQL被我们⽤得最多的当数k ey-value存储,当然还有其他的⽂档型的、列存储、图型数据库、xml数据库等。
  MongDB 主要有⼀下特点:
⾯向集合存储,易存储对象类型的数据。
模式⾃由。
⽀持动态查询,⽀持完全索引,包含内部对象。
⽀持复制和故障恢复。
使⽤⾼效的⼆进制数据存储,包括⼤型对象(如视频等)。
⽀持Python,PHP,Ruby,Java,C,C#,Javascript,Perl及C++语⾔的驱动程序,社区中也提供了对Erlang及.NET等平台的驱动程序。
等等。
  查看。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。