数据等最核心的关键技术:32个算法

数据等最核心的关键技术:32个算法转载2016年12月11日22:24:05A*搜索算法——图形搜索算法,从给定起点到给定终点计算出路径。其中使用了一种启发式的估算,为每个节点估算通过该节点的最佳路径,并以之为各个地点排定次序。算法以得到的次序访问这些节点。因此,A*搜索算法是最佳优先搜索的范例。集束搜索(又名定向搜索,BeamSearch)——最佳优先搜索算法的优化。使用启发式函数评估它检查的每个节点的能力。不过,集束搜索只能在每个深度中发现最前面的m个最符合条件的节点,m是固定数字——集束的宽度。二分查找(BinarySearch)——在线性数组中找特定值的算法,每个步骤去掉一半不符合要求的数据。分支界定算法(BranchandBound)——在多种最优化问题中寻找特定最优化解决方案的算法,特别是针对离散、组合的最优化。Buchberger算法——一种数学算法,可将其视为针对单变量最大公约数求解的欧几里得算法和线性系统中高斯消元法的泛化。...

美团点评数据库高可用架构的演进与设想

金龙 ·2017-06-2920:11本文介绍最近几年美团点评MySQL数据库高可用架构的演进过程,以及我们在开源技术基础上做的一些创新。同时,也和业界其它方案进行综合对比,了解业界在高可用方面的进展,和未来我们的一些规划和展望。在2015年之前,美团点评(点评侧)长期使用MMM(Master-MasterreplicationmanagerforMySQL)做数据库高可用,积累了比较多的经验,也踩了不少坑,可以说MMM在公司数据库高速发展过程中起到了很大的作用。MMM的架构如下。如上所示,整个MySQL集群提供1个写VIP(VirtualIP)和N(N>=1)个读VIP提供对外服务。每个MySQL节点均部署有一个Agent(mmm-agent),mmm-agent和mmm-manager保持通信状态,定期向mmm-manager上报当前MySQL节点的存活情况(这里称之为心跳)。当mmm-manager连续多次无法收到mmm-agent的心跳消息时,会进行切换操作。mmm-manager分两种情况处理出现的异常。出现异常的是从节点mmm-manager会...

change可以重命名列名,也可能修改列的类型和约束,而modify只能修改列的数据类型。

change可以重命名列名,也可能修改列的数据类型,而modify只能修改列的数据类型。change比modify功能多,如果要用change修改字段类型和约束,要加上新字段名,新字段名可以和原来一样。...

前后端交互如何确保数据安全性?

 前后端分离的开发方式,我们以接口为标准来进行推动,定义好接口,各自开发自己的功能,最后进行联调整合。无论是开发原生的APP还是webapp还是PC端的软件,只要是前后端分离的模式,就避免不了调用后端提供的接口来进行业务交互。网页或者app,只要抓下包就可以清楚的知道这个请求获取到的数据,这样的接口对爬虫工程师来说是一种福音,要抓你的数据简直轻而易举。数据的安全性非常重要,特别是用户相关的信息,稍有不慎就会被不法分子盗用,所以我们对这块要非常重视,容不得马虎。通信使用https请求签名,防止参数被篡改身份确认机制,每次请求都要验证是否合法APP中使用sslpinning防止抓包操作对所有请求和响应都进行加解密操作等等方案…….方案有很多种,当你做的越多,也就意味着安全性更高,今天我跟大家来介绍一下对所有请求和响应都进行加解密操作的方案,即使能抓包,即使能调用我的接口,但是我返回的数据是加密的,只要加密算法够安全,你得到了我的加密内容也对我没什么影响。像这种工作最好做成统一处理的,你不能让每个开发都去关注这件事情,如果让每个开发去关注这件事情就很麻烦...

Excel 批量快速合并相同的单元格:数据透视表、宏代码、分类汇总

  在制作Excel表格的时候,为了使得自己制作的报表更加简洁明了,方便查阅,经常需要合并很多相同的单元格,如果有几千几万条记录需要合并的话,真的会让人发疯。怎样可以最快地实现合并功能呢?    1打开需要合并单元格的excel表格。(这里是以excel2007版本为例)2选择菜单栏“插入”选项卡,点击“数据透视表”下拉列表“数据透视表”,此时,弹出创建数据透视表的窗口。“请选择要分析的数据”:如果是本工作表直接选择表或区域即可;如果需要连接外部数据,点选“使用外部数据源”,连接到数据源的位置。“选择放置数据透视表的位置”:可以放置在新的工作表(系统默认);也可以放置现有工作表,选择放置现有工作表的位置。点击“确定”按钮。3此时,系统弹出“数据透视表字段列表”,在“选择要添加到报表的字段”中,将需要使用的字段拖动&...

数据仓库的一些建议

 0x01请理解数据仓库和数据平台的区别当你开始建设数据仓库之前,需要明白数据仓库和数据平台是两个不同的概念,不要把搭建一套Hadoop+Hive的平台叫数据仓库,这是数据平台的范畴。我们常说的数据仓库不仅仅是指数据接入、数据存储和数据计算,它也要包括数据治理、数据建模和数据挖掘。比如元数据管理、维度建模和OLAP分析,这些都是我们在建设数据仓库时候要考虑的内容。0x02提前规划你的数据仓库数据仓库是公司数据体系的核心模块,数据仓库可以做的不好,但是不能不做。因此,在数据体系设计的前期最好要有一定的规划,即使最简单的表和字段命名的规范也能带来很大的收益。另外,从数据开发的角度出发,在做各种临时数据处理需求的时候也要有数据仓库的思维,多尝试抽象出来数据中间层,这样对公司和对自己的成长都是有帮助的。0x03实现轻量级的数据仓库如果业务的快速发展不能留给你太多的时间来实现一个完善的数据仓库,那么可以考虑在前期实现一个轻量级的数据仓库,以尽可能小的成本带来最大收益。关于这个轻量级的数据仓库,建议优先考虑如下几个点:明确数据分层确定可执行的表和字段命名规范定期抽象出常用的中间表建设元数...

数据征信的应用和启示:ZestFinance的基于大数据的信用评估技术

http://www.d1net.com/bigdata/news/325426.html2014年11月,本文作者有机会和ZestFinance的创始人和首席执行官梅里尔(DouglasC.Merill)先生进行了面对面的交流。这位普林斯顿的认知学博士阐述了ZestFinance利用大数据进行信用风险管理的基本框架。基于和梅里尔梅里尔先生的交流,本文对ZestFinance的商业模式和大数据挖掘技术进行进一步的解读,希望能够对中国未来的大数据征信有一些启示。信息技术的进步驱动了消费者信用信息的可得性征信(Creditreporting或者是Creditreference)是指依法收集、整理、保存、加工自然人、法人及其他组织的信用信息,并对外提供信用报告、信用评估、信用信息咨询等服务,帮助客户判断、控制信用风险,进行信用管理的活动。征信的主要目的是解决交易双方信息不对称的问题,进行信用风险管理。征信业与信息技术联系密切,在欧美甚至被归类为信息产业。信息技术的进步驱动了信用风险管理水平的提高,促进了信用的可获得性。欧美发达国家的个人征信(或者是个人消费者的信用风险管理)的发展可以分为三个...

Django1.6版本的PG数据库定义手动升级

  Django1.7以后添加了migration功能,数据库定义的升级完全实现自动化,之前是通过一个叫south的app来做的。这篇文章谈一下1.6下的手动更新升级。  1、tablecreate和tabledelete操作,万幸的是Django即便是旧版本,其table的添加删除,其syncdb命令也可以识别出来。  2、fieldadd和fieldremove这两个操作得自己手动来。一般定义名称、类型、非空这些基本属性,因为Django的model会默认增加主键,所以像主键字段的序列这种比较麻烦的定义就不用自己来了,但是像外键约束、索引啊这些东西有的时候还需要自己手动添加。外键约束的名字和索引的名字最好参考Django的命名方式,防止数据库内命名冲突。  3、修改主键序列,为表递增ID主键建立独立的序列是PG数据库的做法,这个序列是可以修改的,最主要的修改我觉得可能就是当前最大ID值,也就是序列的当前值,有的时候,像某些配置数据的修改,可能需要修改这个序列。 ...

pg_restore数据库恢复指令

pg_restorerestoresaPostgreSQLdatabasefromanarchivecreatedbypg_dump.Usage: pg_restore[OPTION]...[FILE]Generaloptions: -d,--dbname=NAME    connecttodatabasename -f,--file=FILENAME   outputfilename -F,--format=c|d|t   backupfileformat(shouldbeautomatic) -l,--list       printsummarizedTOCofthearchive -v,--verbose      verbosemode --help  &nbs...

sqlite db数据的导出

    sqlite的db数据一般是filename.db的格式,用普通文本编辑器打开是乱码,用sqlite名令操作比较麻烦,有时版本格式问题还会起阻扰,有一个GUI工具可以对sqlitedb格式数据进行管理和导出,sqliteexpert,下载链接:http://www.sqliteexpert.com/download.html...

2017 Gartner数据科学魔力象限出炉,16位上榜公司花落谁家?

https://www.leiphone.com/news/201703/iZGuGfnER4Sv2zRe.html2017年Gartner数据科学平台(在2016年被称作“高级分析平台”)的魔力象限报告于近期出炉了。今年的报告对16个数据分析公司进行了15个标准的评估,并基于前瞻性(CompletenessofVision)和执行能力(AbilityofExecute),将他们按评分放置在四个象限中(魔力象限的横坐标表示的是前瞻性,纵坐标表示的则是执行能力)。尽管像Python和R这种开源的平台在数据科学市场发挥着重要的作用,但是Gartner研究方法论不涉及它们,因此本报告只评估了商业化的厂商。图一:2017年Gartner数据科学平台魔力象限雷锋网(公众号:雷锋网)了解到,这16个公司分别是:领导者(四名):IBM,SAS,RapidMiner,KNIME挑战者(四名):MathWorks(新入围),Quest(前身是Dell),Alteryx,Angoss有远见者(五名):Microsoft,H2O.ai(新入围),Dataiku(新入围),Domino...

Facebook提出DensePose数据集和网络架构:可实现实时的人体姿态估计

https://baijiahao.baidu.com/s?id=1591987712899539583选自arXiv作者:RzaAlpGüler,NataliaNeverova,IasonasKokkinos机器之心编译参与:Panda 实现从2D图像到3D表面的对应在很多方面都有极具价值的应用前景。近日,FAIR发布了一篇研究论文,介绍了他们通过人工方式标注的图像到表面密集对应数据集DensePose-COCO以及基于此训练的DensePose-RCNN架构,得到了一个能实时地得到高准确度结果的系统。该研究发布后得到了广泛的关注,机器之心在此对该论文进行了摘要介绍,更多详情请参阅原论文和项目网站。 论文地址:https://arxiv.org/abs/1802.00434项目网站:http://densepose.org 03:49 本研究的目标是通过建立从人体的2D图像到基于表面的3D表征的密集对应(densecorrespondence)来进一步推进人类对图像的理解。我们可以认为这个任务涉及到一些其它问题,比如物体检测、姿态估计...

网络数据包分析工具列表

   此列表内容主要来自于某书的附录部分。   1、WireShark,这方面神器级工具,不赘述,自己好好学吧。   2、tcpdump和windump,完全基于文本的数据包捕获和分析   3、Cain&Abel:Windows平台上最好的ARP攻击工具   4、Scapy:强大的Python库,自己写脚本操纵数据包   5、Netdude:Linux下的界面工具操纵数据包   6、ColasoftPacketBuilder:Windows上面数据包创建和修改   7、CloudShark在线分享数据包捕获记录   8、Pcapr:用于分享PCAP文件的Web2.0平台   9、NetworkMiner:网络取证工具   10、Tcpreplay:数据包...

TimescaleDB比拼InfluxDB:如何选择合适的时序数据库?

https://www.itcodemonkey.com/article/9339.html时序数据已用于越来越多的应用中,包括物联网、DevOps、金融、零售、物流、石油天然气、制造业、汽车、太空、SaaS,乃至机器学习和人工智能。虽然当前时序数据库仅局限于采集度量和监控,但是软件开发人员已经逐渐明白,他们的确需要一款时序数据库,真正设计用于运行多种工作负载。如果我们考虑采用一款时序数据库产品,这可能意味着我们正面对大量时序数据的快速堆积。我们需要一个地方对这些时序数据进行存储和分析。人们此时可能已经认识到,业务的存活严重地依赖于所选取的数据库。如何选取时序数据库在评估工作负载所使用的时序数据库时,需考虑多个因素:数据模型;查询语言;可靠性;性能;生态系统;运维管理;企业/社区的支持情况.本文中,我们将对比两款业界领先的时序数据库,TimescaleDB(https://www.timescale.com/?utm_source=timescale-blog&utm_medium=referral&utm_campaign=influx-benchmark-post&...

Ceph剖析:数据分布之CRUSH算法与一致性Hash

https://www.cnblogs.com/shanno/p/3958298.html数据分布是分布式存储系统的一个重要部分,数据分布算法至少要考虑以下三个因素:1)故障域隔离。同份数据的不同副本分布在不同的故障域,降低数据损坏的风险;2)负载均衡。数据能够均匀地分布在磁盘容量不等的存储节点,避免部分节点空闲部分节点超载,从而影响系统性能;3)控制节点加入离开时引起的数据迁移量。当节点离开时,最优的数据迁移是只有离线节点上的数据被迁移到其它节点,而正常工作的节点的数据不会发生迁移。对象存储中一致性Hash和Ceph的CRUSH算法是使用地比较多的数据分布算法。在Aamzon的Dyanmo键值存储系统中采用一致性Hash算法,并且对它做了很多优化。OpenStack的Swift对象存储系统也使用了一致性Hash算法。假设数据为x,存储节点数目为N。将数据分布到存储节点的最直接做法是,计算数据x的Hash值,并将结果同节点数目N取余数,余数就是数据x的目的存储节点。即目的存储节点为 Hash(x)%N。对数据计算Hash值的目的为了可以让数据均匀分布在N个节点中。这种做法的一...
首页上一页...400401402403404...下一页尾页