大数据:用对象数据库引擎探索全球气候变暖问题
我们不能把北极塞进关系型数据库里面。这是研究世界各地的冰雪气候的大卫加拉赫在设计一个解答基础性问题的系统时发现的,这个问题就是:“全球变暖是如何影响南极和北极的?”。
加拉赫的研究开始与格陵兰岛的大约66万平方英里的冰层覆盖区域。事实证明,在如今传统的关系型数据库的黄金时代,有一种被人们忽视的技术,利用这种技术能够更好的完成对格陵兰30年的大数据的探测任务。其中包括一天三次的卫星扫描,产生的数据量几乎是PB级规模的任务。这项技术便是将数据作为对象来处理的面向对象的数据库管理系统- 来自于Versant公司的对象数据库引擎。
“这些数据对于Oracle或者传统的关系型数据库来说太过庞大了,很容易在数据装载的时候导致系统崩溃。”位于科罗拉多大学博尔德分校的国家冰雪数据中心(NSIDC)IT服务部经理加拉赫说。为处理那些非常适合表结构的连续性数据的报告和分析而设计的关系型数据库是无法展示陵兰岛上冰的历史变迁过程的。
作为一个经过专业训练的地理学家,加拉赫是这一项目的主要负责人。该项目总投资为60万美元,由国家科学基金会拨款,目的是要建立一个可以处理几十亿比特时序信息(以统一的时间间隔测量的数据序列)的系统,并使这些信息通过互联网可以被世界各地的研究人员获取。加拉赫说,“我们必须转向这样的模式,它能更方便地去分析数据,而不是将数据转成分析所用。”
数据如此庞大,以至于国家冰雪数据中心(及其数据收集合作伙伴,国家航空航天局)只将元数据放在关系数据库中。数据本身存储在目录树下,在研究人员要了解如什么、哪里和何时等关键问题时才会被提取出来——如果研究人员要分析原因的话,那就更费力了。由于文件太大,如果一个研究人员想要知道,例如,冰的反射率,或是反射属性——冰颜色的深浅,反射率的高低或反射变化的快慢,可能要花上好几个星期的时间才能得到想要的数据。(属性是面向对象技术中用来表示持久化数据的专业术语。)
“然后他们还必须写出些什么来整理他们手中的信息。如果他们很幸运,通过运算,才有可能在经费用完之前可以得到一些结果,”加拉赫表示,“我们认为,必须要找到其它的解决办法。”。
被遗忘的面向对象数据库
IDC负责信息管理及数据集成软件研究的副总裁,Carl Olofson表示,面向对象数据库技术一直被人们误解——甚至在数据库社区中也常常被人们误解——人们认为这种技术已经过时,只局限在一些特殊的领域应用之中。这可能是因为制定收集数据和制作报表的数据库标准的工作重点放在了关系数据库上。
为了充分利用对象数据库,必须建立映射其属性结构的对象模型。“要完成这项工作需要有一定的抽象思维,”Olofson说,“IT公司可能会感到他们并没有时间来进行这样的分析。”。
但是观念是在不断更新的。用对象数据库引擎能够更好地将现在各个企业想通过时间和空间范围追踪的复杂数据和复杂结构的类——例如,社交网络中的人与人之间的关系——进行存入和检索。目前,诸如Versant,GemStone Systems(该公司最近被VMware Inc.收购了)以及Objectivity Inc.这样的供应商正在赢得更多企业和程序员关注的目光。
Olofson表示,“最基本的一点,对象数据库在对大数据领域中建立秩序,同时不丢失任何信息上是十分有用的。”
新的NoSQL技术与此有一定的相关性,也提供了许多便利,但是这些技术缺少用户基础和行业标准。Olofson举了个例子,例如Hadoop擅长数据的初始输入,但是创建某种结构化输出却是它的短板。
能够时间旅行的“数据棒”
加拉赫表示,对象数据库应用成功的关键在于知道你想要解决的问题。此外,说服已经习惯关系数据库的数据库管理员停止从表的角度来思考也是一大挑战。Gallaher以及小组成员——两个研究生和一位教授(兼职)——想出了一个被他们称作为数据棒的结构。这里面包含了几十亿个像素,作为一个固定区域的整体时间记录观察。
他解释说,“把数据棒看作是由片组成的一个堆,每一片都代表了几个小时,这个堆现在有30英尺高。”以反射率为例,您可以要求系统“告诉你哪些‘片’的颜色比其它片的颜色深,颜色深的片发生了什么情况。如果有了有趣的发现,你也可以要求系统告诉你临近的对象的情况。”
加拉赫表示,“这其中的亮点就是,我们不要把它看作是一个图像,相反,你应该把它看作是一个跨越时间的棒。我们把它看作是一个巨大的3维矩阵。”
出于效率(以及可恢复性)的原因,格陵兰所有的数据棒以五年为一个时间段,包含了多个数据库。加拉赫说:“你可以查询所有的数据库。如果你愿意的话,你可以把这些数据库当作一个“棒”来用”。通过使用VQL, 即Versant查询语言(他认为这一语言对于外部用户类似SQL),了解一段时间的变化就变得相当直接明了。
加拉赫说:“对于我来说,向人们解释最佳的方法就是把数据棒看作是对一个无限时间长度的记录,在这个时间维度上你可以随时随地了解你想知道的情况。”
加拉赫之前在对Hadoop以及类似的技术做了大量的调查之后,他认为Versant数据库能够完成他想要的工作。Versant数据库可以处理他们所需要的任何大小的数据。“我们问的问题包括巨大的区域,繁多的时间点,大量的变量,以及要求在几秒中内得到响应或者被缓存等等,”他又补充道,“现在我们几个小时内所做的事情,以前要花上六个月,这绝不是玩笑。”
分享到:
相关推荐
《WPS Access 2010数据库引擎:解决外部数据链接问题》 在日常工作中,我们经常需要处理各种数据,而这些数据可能来源于不同的系统或文件格式。Microsoft Office的Access数据库引擎是一个强大的工具,用于管理和...
Jet引擎是Microsoft Windows操作系统中一个内置的数据库管理系统,主要用于支持Access数据库和其他使用Jet数据存储格式的应用程序。DAO(Data Access Objects)是与Jet引擎配套的数据访问接口,允许程序员通过对象和...
7. **兼容性**:Access 2010数据库引擎不仅适用于WPS,还可以与许多其他应用程序配合使用,如Microsoft Excel、Word、PowerPoint,以及其他第三方软件。 在实际应用中,当用户收到"AccessDatabaseEngine"这样的文件...
标题中的“Microsoft Access 2010 数据库引擎.rar”指的是微软在2010年发布的Access数据库引擎,这是一个用于处理和管理数据的强大工具。它不仅支持Access数据库(.accdb)格式,还允许与其他数据源如Excel、SQL ...
DAO(Data Access Objects)是微软在早期开发的一种数据访问接口,主要用于访问Microsoft Jet数据库引擎,它是Access数据库的基础。Jet数据库引擎是微软开发的一种强大的、快速的数据库管理工具,尤其适用于小型到...
在Python中,如果需要读取或写入Access数据库,可以使用像pyodbc、pymssql或JDBC(对于Java)这样的库,但前提是计算机上已经安装了相应的Access数据库引擎。这是因为这些库依赖于操作系统中的ODBC(Open Database ...
DAO(Data Access Objects)是微软在早期开发的一种数据访问接口,主要用于访问Microsoft Jet数据库引擎,如Access数据库。DAO 3.5是DAO的一个版本,它在Windows操作系统中广泛使用,尤其是在16位和32位应用程序中。...
数据库数据库数据库对象数据库数据库数据库对象连接
面向对象数据库系统是一种先进的数据管理技术,它将传统的数据库系统与面向对象...通过学习这门课程,读者将能够理解和运用面向对象数据库系统的核心概念,设计和实现面向对象数据库,并解决实际项目中的数据管理问题。
Microsoft Access Database Engine数据库引擎可再发行程序包。 博客链接:https://blog.csdn.net/kangweijian/article/details/141895795 Microsoft Access 2016 数据库引擎可再发行程序包。 此下载将安装一系列...
AccessDatabaseEngine.exe是微软的64位Access2010数据库引擎可再发行程序包。 运行软件提示错误 :未在本地计算机上注册 Microsoft.ACE.OLEDB.12.0 ,那么就需要安装这个软件了。本程序的作用在于使得在office系统...
SQL Server数据库引擎错误严重性是衡量数据库引擎在执行过程中遇到问题的严重程度的一个标准,它对理解数据库操作的健康状况和排查错误至关重要。错误的严重性级别从0到25,每个级别代表不同类型的错误和应对策略。 ...
Borland软件公司的数据库引擎,BDE是(Borland Database Engine)宝兰数据引擎的缩写,它不仅能访问本地的不同数据库,还可以将应用从本地上传到客户机-服务器系统,而且有很高的效率.
5. **对象关系映射(ORM)**:讲述对象关系映射技术,它是面向对象数据库与传统关系数据库之间的一个桥梁,使得开发者可以使用面向对象的方式来操作数据库。 6. **性能和优化**:探讨面向对象数据库的性能特点,...
在IT行业中,数据库是存储和管理数据的核心工具,而对象数据库则是其中的一种类型,它将数据以对象的形式存储,更符合面向对象编程的思想。本文主要探讨的是如何进行简单的对象数据库操作,结合“源码”和“工具”的...
用oledb连接数据源时,如果数据源是access的,需要access数据库引擎,系统默认是没有的,需要下载此软件安装即可。具体使用方法请参考 张立的《C#2.0 实例自学手册:通过200个例子掌握Web开发捷径》这本书中有关OLE...
对象数据库是一种特殊的数据库管理系统,它以面向对象的方式来存储和管理数据,与传统的关系型数据库不同。在对象数据库中,数据以对象的形式存在,每个对象都有属性(相当于字段)和方法(相当于行为)。这种设计...
总的来说,Access数据库引擎是一个强大的工具,它扩展了Access数据库的使用场景,使得在没有安装Access的情况下,仍能充分利用Access数据库的强大功能。对于开发者、数据分析人员以及需要处理大量结构化数据的用户来...