大数据技术与数据库系列课程体系的衔接与创新研究

2019-12-25 01:14翟霞
无线互联科技 2019年20期

翟霞

摘   要:新一轮科技革命和产业变革正在加速推进,技术创新日益成为重塑经济发展模式和促进经济增长的重要驱动力量,而大数据无疑是第一核心推动力。当前,发展大数据已经成为国家战略,大数据在引领经济社会发展中的新引擎作用更加突显。文章在阐述关系型数据库面临的问题基础上,针对非关系数据库遇到的问题,提出大数据技术与数据库系列课程体系的衔接和创新研究。

关键词:非关系数据库;分布式架构;Hadoop;MongoDB

1    非关系型数据库提出背景

伴随着互联网的兴起,人们生产、收集数据的能力大大增强,也更加希望从数据中获得新价值。大数据业务不断出现,例如搜索引擎、推荐系统、位置服务与日志分析等。传统的关系型数据库可能无法对这些新业务进行有效支撑。首先,关系型数据库的横向扩展能力较差,使之无法对不断增加的大数据进行有效管理。其次,关系型数据库的数据模型严格固定,使之对多源数据或复杂的数据类型的处理能力较差。最后,一些大数据业务对事务机制、一致性和完整性的要求较低,这使得关系型数据库的优势难以发挥作用,反而成为制约。

在这种背景下,多家互联网企业的技术团队不约而同地着手研发非关系型数据库,其核心理念是通过牺牲事务机制和强一致性保障机制,以获得更好的分布式部署能力和横向扩展能力;通过打破关系模型、创造新的数据模型,使其在特定大数据场景下,对特定业务数据的处理性能更佳。

2    非关系数据库

随着新型数据库产品不断涌现,一些流行的分布式、非关系型数据库统称为NoSQL,代表了大数据时代来临,需要为不同的业务场景选择更适合的技术工具,此时不再强调技术工具的全面,而是强调“取舍”。此外,NoSQL并非是对关系型数据库或SQL语言的否定,而是对传统数据库的发展和补充。NoSQL无法代替关系型数据库,就像关系型数据库也无法代替NoSQL。作为新生事物,NoSQL在技术原理和使用方法上,都和传统数据库有所不同,而且,由于没有统一的标准,不同NoSQL产品之间的技术差别也非常大。这使得传统的数据库用户在产品选型和使用上无所适从,可能遇到以下问题[1]。

第一,不理解不同 NoSQL产品的设计理念和技术特点,因此难以进行产品选择。

第二,不理解分布式系统可能遇到的技术问题和解决方法,因此难以进行有效的部署、配置和优化。

第三,习惯使用SQL语句操作数据库,对新的数据库操作方法感到陌生。

3    大数据技术与关系数据库理论相融合

针对以上问题,将NoSQL数据库的分布式架构、数据模型、数据管理策略等核心原理融入关系数据库理论体系中,使学生在学习数据库基本理论的同时,能够理解NoSQL数据库的特点,进而判断NoSQL的适用场景。通过介绍典型 NoSQL数据库的部署方法、数据操作方法和编程访问方法,使学生在实际工作中能够初步运用这些工具。

在关系数据库基本原理部分,融入NoSQL的原理,主要突出NoSQL数据库为进行分布式部署、实现高可用性、高效率和易用性等目标所采取的设计方法和功能取舍。在数据库系列课程的学习中,学生已经熟悉了SQL Server,Oracle和MySQL等关系数据库管理系统,但对非关系数据库几乎一无所知。所以在授课过程中,建议引导学生自主了解典型的非关系数据库系统,例如现阶段国内外较为流行的HBase,Cassandra,MongoDB,Redis和Neo4j等数据库。

4    典型NoSQL数据库

(1)HBase是一种经典的、基于列族的NoSQL数据库,一般会和著名大数据工具Hadoop共同部署、配合使用。由于Hadoop是大数据工具的一个事实标准,很多大数据工具都会保持和Hadoop,HBase的兼容性,使得HBase的应用领域很广,构建各类解决方案的能力很强,在互联网、电信、电力、金融等行业均能看到其使用案例。

(2)Cassandra也是基于列族的NoSQL数据库,其特点是:一方面,采用了环形拓扑结构,避免了主节点单点失效问题;另一方面,提供了类似SQL的CQL语言。

(3)MongoDB是一种基于文档模型的分布式NoSQL数据库,其特点在于可以利用单表存储复杂的数据结构,例如列的嵌套,而不必考虑关系型数据库所要求的列原子性。此外,MongoDB支持非常灵活的数据查询操作,且在大数量的情況下,查询性能也很高。

(4)Neo4j是一个图数据库,其分布式部署能力较弱,但数据结构很有特色,适合存储节点和关系模型,例如社交网络上的关注关系、网页之间的链接关系等。

5    大数据技术与数据库系列课程的衔接

在内容侧重上,突出大数据技术的覆盖面,融合介绍了多种软件的原理以及部署、操作和编程方法。在原理方面,尽可能介绍和NoSQL直接相关的、有特色的技术原理,并尽量用比较通俗的方式进行解释,避免对技术原理进行过于深入的分析。此外,可以给学生推荐一些经典的技术论文,供学生做扩展阅读;在实践部署方法上,主要介绍部署的核心步骤和基本方法,例如尽可能多地采用默认参数等,目的是突出分布式软件的部署需求和重点配置内容。详细步骤将通过配套实验等方式体现;在使用方法上,主要介绍基本的库表操作、数据增删改查方法、数据批量操作方法等,并介绍不同软件所提供的特色功能,所介绍的方法在深度和覆盖面上要尽可能简略;在编程方法上,可以提供Java和 Python两种语言的示例。一般来说,通过Java编程可以实现更多功能和更高的效率;而Python语言更易使用,更容易进行功能验证,学习时可以根据需要进行取舍。为突出大数据技术与数据库课程的衔接,不需要对Java和Python的基础编程方法、开发环境以及如何导入依赖包等问题进行介绍。

考虑到一般情况下,缺少分布式环境下的定制化部署、性能优化和运维管理等内容,实验环境可能有所限制,对于如何在分布式环境下进阶使用和维护NoSQL数据库等内容,可以不做介绍。

6    大数据技术发展的创新研究

大数据是一个复杂的系统工程,需要以进步发展的理念,积极主动适应大数据时代所带来的深刻变革。推动大数据发展需要注重以下5个方面的辩证统一和统筹兼顾[2]。

6.1  注重“长与短结合”

所谓“长”就是要目标长远,要注重制定大数据发展的顶层设计和中长期发展规划,明确发展方向和总体目标;所谓“短”就是要着眼当前,注重短期收益,从实处着手,快速起效,并形成效益反哺的良性循环。

6.2  注重“快与慢结合”

所谓“快”就是要注重发挥新一代信息技术产业爆炸性增长的特点,以实际应用需求为牵引加快推进,力争快速占领大数据技术和产业制高点;所谓“慢”就是要注重夯实大数据发展的基础,着重积累发展大数据基础理论与核心共性关键技术,培养行业领域发展中的大数据思维,潜心培育大数据专业人才。

6.3  注重“高与低结合”

所谓“高”就是要打造大数据创新发展高地,部署高端大数据公共服务平台,组织开展大数据重大示范工程,提升重点领域和标志性行业的大数据技术水平和应用能力;所谓“低”就是要坚持推进大数据在各行各业和民生领域的广泛应用,扩展大数据发展的广度和深度。

6.4  注重“内与外结合”

所谓“内”就是要向内深度挖掘和深入研究大数据,作为一门学科领域的深刻技术内涵,构建和完善大数据发展的完整理论体系和技术支撑体系;所谓“外”就是要加强开放创新,推动大数据与人工智能、云计算、物联网、网络安全等信息技术领域的协同发展,促进数据科学与计算机科学、基础科学和各种应用科学的深度融合。

6.5  注重“开与闭结合”

所谓“开”就是要坚持开放共享,加强科研机构、企业间技术交流和合作,推动大数据资源高效利用,打破数据壁垒,普惠数据服务,缩小数据鸿沟,破除数据孤岛;所谓“闭”就是要形成价值链生态闭环,充分發挥大数据发展中技术驱动与需求牵引的双引擎作用,形成技术创新链和产业发展链协同发展的态势,构建大数据产业良性发展的闭环生态圈。

7    结语

推动大数据的创新发展,已经成为新时代的新诉求。推动大数据、人工智能等信息技术产业与实体经济深度融合,培育新增长点,为建设网络强国、数字中国、智慧社会提供新动能。

[参考文献]

[1]胡世昆.分布式数据库技术在大数据中的应用[J].电子技术与软件工程,2019(1):153.

[2]侯宾.NoSQL数据库原理[M].北京:人民邮电出版社,2018.