NoSQL数据库能存储一个类的对象吗

laxila 2016-04-20 02:14:39
NoSQL数据库能存储一个类的对象吗
...全文
359 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
icesnow330 2016-04-25
  • 打赏
  • 举报
回复
有的可以(比如文档数据库MongoDB等),有的不行(比如Key-Value数据库)
chyanch 2016-04-22
  • 打赏
  • 举报
回复
可以详细说下类的对象具体指什么么?
⼆、⼤数据与分布式 ⼀、分布式⽂件系统 ⼤数据管理研究的⽂件系统主要是分布式⽂件系统,分布式⽂件系统时建⽴在多台服务器上,并对多个节点上的⽂件进⾏统⼀管理,为⽤户 提供单⼀⽂件视图和⽂件访问结构。⽬前流⾏的分布式⽂件系统是建⽴在互联⽹环境上,基于节点⾃⾝的⽂件系统⽽实现的⾯向海量数据管 理的⽂件系统,主要研究在⼤规模集群上数据划分和数据分布,所存储的数据的可靠性以及存储管理的可扩展性,如何⽀持⽤户⼤规模并发 访问以及如何适应新型的并⾏计算模型。 ⽬前⽐较成熟的分布式⽂件系统解决⽅案有⾕歌的 GFS ,它是从实际需求、业务型以及技术环境等⽅⾯考虑设计并实现的分布式⽂件系 统,它充分满⾜了应⽤存储的需求。雅虎的 HDFS 和亚马逊的 S3 也是相对成熟的分布式⽂件系统解决⽅案。HDFS 最⼤的⽤户是雅虎, 其次是 Facebook,S3 是亚马逊提供的在线按需存储服务,它是⼀个基于对象存储系统,为客户提供任意⼤⼩的对象存储。 ⼆、分布式数据管理平台 传统数据库⽆法应对⼤数据环境下数据存储的管理。NoSQL 数据库技术的提出为⼤数据管理提供了⼀个很好的解决⽅案。NoSQL 数据库 根据存储模型可以划分为:基于 Key-Value 的存储模型,基于 Cloumn Family 的存储模型,、基于⽂档的存储明星以及基于图的模型。 2.1 基于 Key-Value 存储NoSQL 数据库 基于 Key-Value 存储NoSQL 数据库主要是基于键值对来存储,利⽤哈希表来维护 Key 值与具体 Value 之间的映射关系,⽤户可以通 过 Key ⽅便的对数据进⾏定位。 Value 是以⼀定的数据结构进⾏存储,⽽系统不对 Value 进⾏任何解释,应⽤程序会根据事先约定的格式 对数据进⾏处理并对 Value 进⾏解释。Key-Value 型的 NoSQL 数据库存在⼀个弊端,就是⽤户⽆法根据 Value 中的某个属性值查询数 据,因此该型的数据库只能⽀持对 Key 进⾏简单的查询。 Tip:常见的 Key-Value 型的 NoSQL 数据库有:Redis、Tokyo Cabinet Tryant、Oracle Berkeley DB 等。 2.2 基于 Cloumn Family 存储NoSQL 数据库 Cloumn Family 是指具有相同性质的序列属性。它的存储结构是在 Key-Value 模型基础上进⾏重新设计的,Value 被设计的更加精细,⼀ 个 Value 由多个属性列组成,这些属性列组成了⼀个组从⽽在数据结构上呈现出多层嵌套映射。 Tip:常见的 Cloumn Family 型的NoSQL 数据库是 BigTable。 2.3 基于⽂档存储NoSQL 数据库 基于⽂档存储NoSQL 数据库以传统的⽂档存储技术为基础,存储模型以是 Key-Value 存储模型为基础,每个⽂档是⼀个 Key-Value 列 表,⽂档格式⼀般采⽤ JSON 或者似于 JSON 的格式。该型的数据库对于特定的查询来说具有较⾼的效率,并且给数据库的设计⼈员 带来了建模的灵活性,但却给数据操作⼈员带来了极⼤的负担。基于⽂档存储NoSQL 数据库存在⼀个弊端,数据是循环嵌套的,会使应 ⽤程序变得越来越复杂、难以维护和理解。因此在使⽤该NoSQL 数据库时应当在设计阶段平衡好灵活性与复杂性。 Tip:常见的基于⽂档存储NoSQL 数据库有:Lotus Notes、CouchDB、MongoDB 和 Riak 等。 2.4 基于图存储NoSQL 数据库 传统图数据库⼤部分是⾯向对象的,虽然它们在节点遍历等图数据操作中都具有很好的性能,但是并没有考虑到系统的可扩展性,因此就出 现了基于图存储NoSQL 数据库。这种型的 NoSQL 数据库不仅以扩展性为重要⽬标,还可以对⼤规模的图数据进⾏有效的管理和分 析。基于图存储模型的 NoSQL 数据库主要应⽤于社交⽹络、科学研究以及其他需求不断发展的应⽤领域,在这些应⽤中图模型可以在庞⼤ 的数据规模下更加清晰准确的表达数据的意义。 三、数据组织与管理 ⼤数据组织和管理技术主要包括数据划分技术、数据块分布技术、索引技术、副本管理技术和⽀持事务处理技术等,下⾯重点介绍⼀下前三 种技术,后两种技术将在后续的⽂章中详细讨论。 3.1 数据划分技术 数据划分是指将数据集分割成多个独⽴互不相交的⼦集合,主要⽬的是使具有相关性的元组和属性尽量⼀起存储,从⽽减少操作的开销代价 ⽽提⾼操作性能。 NoSQL 数据库在⼤数据环境下因为每个表的数据量很⼤,因此都会以分布式的形式对表进⾏存储。只有表进⾏划分才能实现表的分布式存 储,所以数据划分对提⾼ NoSQL 数据库性能有重要作

742

社区成员

发帖
与我相关
我的任务
社区描述
该论坛主要探讨Linux系统在IBM Power平台的安装、部署、应用开发等话题,并为网友们提供自由交流的平台。
社区管理员
  • Power Linux社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧