关系型数据库通过键,构造数据与数据之间的关系,间接关系过多导致逻辑复杂。

今天我在设计舆情监控系统时就遇到了这种情况,为了数据输出灵活性,数据库以客户、关键词为中心进行设计。

但是为了提高集群负载,在数据爬取上又设计为分布式,既爬虫子网对一个数据库,数据库子网对一个监控系统,这样爬虫端的每个任务都要从多张表中挖掘需要的信息,想了一下午,终于想到了一个简单、灵活、执行效率高的方式——在内存建一个DataTable保存要执行的任务。

每条任务周期都用复杂的逻辑推断要做什么,通过什么渠道去做,很难实现多线程并发。

如果把需要的信息统一挖掘、统一存储在这一张内存表中,在使用之前就滤清了复杂的逻辑,像是一排子弹装在机枪上,随时准备使用。

统一挖掘只需访问一次数据库,读取全部预计用到的数据,再从内存中进行逻辑筛选,最后把内存中不需要的冗余数据Clear,最大限度地减少了数据库访问次数,再加上是内存表,所以存取速度快,还可以通过剩余任务数量判断循环周期。

转载于:https://www.cnblogs.com/hack/archive/2010/04/02/1702938.html

降低关系型数据库的逻辑复杂相关推荐

  1. mysql 应用前景_图数据库在企业应用中前景如何,相比关系型数据库有哪些优势?...

    图数据虽然在国内的应用还不是非常广泛,但发展前景还是很可观的. 跟以Oracle为代表的传统关系型数据相比,图的逻辑可以很好的解决绝大多数底层数据分析问题, 图数据的数据逻辑维度要远高于关系型数据,所 ...

  2. 全面梳理关系型数据库和 NoSQL 的使用情景

    今天我将对常见关系型数据库以及NoSQL的使用场景做一个详细的分析和比较.希望对大家以后的数据库选型有所帮助. 目录 数据库场景比较 MySQL还是PostgreSQL? MongoDB 键值(Key ...

  3. Amazon Aurora是如何设计原生云关系型数据库的?

    关系型数据库已经存在很长时间了.数据的关系模型是E.F. Codd在20世纪70年代提出的,而支撑当今主要关系型数据库管理系统的核心技术是在1980到1990年代开发的.关系型数据库的基础,包括数据关 ...

  4. 阿里云新一代关系型数据库 PolarDB 剖析

    本文通过描述关系型数据库发展的背景以及云计算的时代特征,分享了数据库计算力的螺旋式上升的进化理念.并且结合阿里云 RDS 产品的发展路径,阐述了自主研发的新一代云托管关系型数据库 PolarDB 的产 ...

  5. 《图数据库(第2版)》——2.1 关系型数据库缺少联系

    本节书摘来自异步社区出版社<图数据库(第2版)>一书中的第2章,第2.1节,作者:[美]Ian Robinson(伊恩•罗宾逊) , Jim Webber(吉姆•韦伯) , Emil Ei ...

  6. mySQL(关系型数据库管理系统)编辑

    收藏 2906 1034 mySQL(关系型数据库管理系统)编辑 MySQL[1] 是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle公司.MySQL是最流行的关系型数据 ...

  7. 关系型数据库(Relational Database)与非关系型数据库(NoSQL)的区别:(MySQL,Redis,Memcache,MongoDB)

    Table of Contents 关系型数据库(Relational Database) 什么是关系数据库 什么是SQL? 关系数据库的结构 关系模型 关系数据库的好处 数据一致性 隔离性和原子性 ...

  8. 开源关系型数据库架构

    前言 我们把主要的开源关系型数据库分为三类,来分别了解一下它们的架构和设计,并了解一下它们各自的优缺点. OLTP,在线事务处理,是传统的关系型数据库的主要应用场景 OLAP,在线分析处理,是当今大数 ...

  9. 关系型数据库的瓶颈 与 优化

    1. 数据库的分类 数据库大致可以分为两部分: 传统的关系型数据库, 如: MySQL, Oracle, SQLServer 以及 PostgreSQL; MySQL 是国内使用最广泛的数据库, Or ...

最新文章

  1. Struts2之ModelDriven
  2. 如何将hive与mysql连接_hive连接mysql配置
  3. powerpoint文字教程
  4. windows环境的python的环境变量_win的环境变量配置(Python实例)
  5. 火爆全网MySQL路线笔记!linuxmysql允许远程连接
  6. getAttribute、setAttribute、removeAttribute
  7. ios字典存bool_iOS 开发之字典写入文件
  8. 结对编程项目总结(王开207, 唐彬170)
  9. 进入Vmware虚机的BIOS
  10. WS2812B全彩LED驱动
  11. 红外接收电路自己制作,我用过的
  12. 图文解析大二层网络及VxLAN技术
  13. GlassFish安装
  14. HashMap扩容机制源码分析
  15. GitHub Desktop安装与使用教程
  16. 波兰式与逆波兰式的转换和表达式求值
  17. DAO开发实战业务分析
  18. 安道拓Adient EDI 830物料需求预测报文详解
  19. 家用小型监控器安装位置与功能
  20. Kubernetes滚动更新(无中断平滑发布)

热门文章

  1. Sphinx index.rst
  2. hadoopstreaming
  3. 淮海工学院期末考试Oracle,【2017年整理】淮海工学院物理化学下册期末试题.doc...
  4. mysql表空间转移_mysql共享表空间扩容,收缩,迁移
  5. Java基础学习总结(106)——高级JAVA工程师必需技能
  6. golang mysql单例模式_Golang设计模式——单例模式
  7. php为什么凉了_马蜂窝裁php换java,php又又又凉凉了吗
  8. python数据库操作封装_Python 封装一个操作mysql的类
  9. linux文件系统管理实践题目,Linux软件管理、文件系统管理实践
  10. typecho支持html,[分享] Basic HTML - 一款极简的Typecho主题