搜索:数据流

(转)为什么 Go 语言允许百万级别的 goroutines,而 Java 只允许千级别的

转载 2018-07-22 23:10 阅读(188)次
原文:https://rcoh.me/posts/why-you-can-have-a-million-go-routines-but-only-1000-java-threads/ 译文:https://studygolang.com/articles/13612 作者:Russell Cohen  译者:skyismine2010  校对:polaris1119 很多有过 JVM 相关语言工作经验的程序员或许都遇到过如下问题:[error] (run-main-0) java.lang.OutOfMemoryError: unable to create native ...

磁盘读取数据的原理

原创 2018-07-22 12:58 阅读(175)次
数据库的数据一般都是存储在磁盘上,明白磁盘读取数据的原理,才能设计出提高数据库检索速度的设计。 我们知道信息存储在硬盘里,把它拆开也看不见里面有任何东西,只有些盘片。假设,你用显微镜把盘片放大,会看见盘片表面凹凸不平,凸起的地方被磁化,凹的地方是没有被磁化;凸起的地方代表数字1(磁化为1),凹的地方代表数字0。因此硬盘可以以二进制来存储表示文字、图片等信息。 磁盘是一个扁平的圆盘(与电唱机的唱片类似)。磁盘的基本组件可分为以下几部分:磁头,盘片,盘面,磁道,柱面,扇区等。 盘面上有许多称为磁道的圆圈,数据就记录在这些磁道上。磁盘可以是单片的,也可以是由若干盘片组成的盘组。一块硬盘一般有多块盘片...

InfluxDB架构设计和数据布局

原创 2018-07-20 11:44 阅读(347)次
InfluxDB架构设计和数据布局 作为专门针对时间序列数据的存储,InfluxDB在使用的时候也需要针对本身的特性结合需求来设计schema。 1. 针对tags和field的特性进行设计schema tag 被索引,查询速度快。field没有做索引,查询需要scan,速度慢。 根据以上特性 ⑴ 常用来查询的数据存放在tags中 ⑵ 计划用来group by() 的数据,放在tags中 ⑶ 数据计划用InfluxQL function来处理的,放在fields中 ⑷ 数据需要表示为string以外的值,放在fields中。(tags始终表示为字符串) 2. 避免用InfluxQL的关键字...

InfluxDB的设计见解和权衡

原创 2018-07-19 18:21 阅读(246)次
作为时序数据库,InfluxDB在设计的时候,对一些具体问题做了优化,提高性能的同时也需要作出权衡,削减一些功能。 如下  方案一:趋向赞成问题,方案二:趋向反对问题 1. 当DB收到多次相同的数据,认为他是client多次发送了相同的数据。 方案一:赞成,为此提高性能,照单全收。InfluxDB是进行field set的整合。 方案二:反对,不支持存储重复数据,可能发生覆盖。 2. 时序数据库很少发生删除。如果发横几乎是删除大范围的旧数据,而不是删除刚刚插入的新数据。 方案一:限制删除权限,增加读写性能。 方案二:删除功能强烈限制。(我理解甚至不提供删除功能) 3. 更新数据很少发...

初识InfluxDB

原创 2018-07-18 16:05 阅读(223)次
如果对时序数据库概念还不是很了解,建议先看我的上一篇文章 What is a Time Series Database? InfluxDB主要用来对大量带时间戳数据的存储,包括DevOps监控,应用程序metrics,物联网传感器数据和实时分析。 通过配置InfluxDB以保持数据达到规定的时间长度,自动删除过期数据,从而节省机器空间。 InfluxDB还提供类似SQL的查询语言,用于与数据交互。 它用GO编写,所以编译后是没有对外部依赖的二进制文件。 它具有高性能,对相同的数据有高吞吐量的插入,压缩和实施查询。TSM引擎允许高吞吐量的数据插入和数据压缩。 它提供了高性能的API和H...

从架构特点到功能缺陷,重新认识分析型分布式数据库(转)

转载 2018-06-26 18:16 阅读(113)次
最近阅读了   海边的Ivan   在  架构文摘   公众号上对几种分布式数据库的研究,结合我以前用elasticsearch时候遇到的并发问题,有种茅塞顿开的感觉。文章结构清晰,这边转载过来作为自己个人学习,原文地址   https://mp.weixin.qq.com/s?__biz=MzIyNjE4NjI2Nw==&mid=2652560761&idx=1&sn=6347d8e4f10d49c93aa589429e9fc9b6,如有不妥,请联系我删除。首先还是感谢作者lva...

Flink基本概念

原创 2018-06-09 10:51 阅读(136)次
Flink基本介绍 Flink官网入口在介绍flink前,先介绍了数据集模型和执行模型。我想这里主要是为了跟spark做对比。 数据集类型有两种 有界,不变的数据集。 无限,持续追加的数据集。很多时候认为是有界的数据其实是无界的,比如服务器上的日志,每天变动的股票市场交易,用户对互联网的访问,正在来临的物联网时代的传感器信息。 执行模型也分为两种: streaming:流式处理,连续的,一条条的处理到来的数据 batch:处理有限的时间段内数据,完成后然后释放资源 这两种执行模式都可以应用在有界或者无界的数据集上,虽然未必是最好的选择。现在大名鼎鼎的spark streaming就是使用bat...

tensorflow主要函用法(持续更新)

原创 2018-05-13 02:20 阅读(103)次
tensorflow有很多函数便于神经网络的计算。本文将持续更新。 tf.clip_by_value tf.clip_by_value(    t,    clip_value_min,    clip_value_max,    name=None) 将tensor限制在最小值和最大值之间。修建了tensor 参数t ,主要用来避免数学上一些不应该出现的计算,比如分母是0,log0等这类计算出现 常见用法如下。v = tf.constant([[l.O, 2.0, 3.0], (4.0,5.0,6.0]]) ...

监督学习的数据集的划分和模型的选择

原创 2018-05-09 17:41 阅读(134)次
对于监督学习中的训练样本数据,划分技巧是很重要的。 往往我们的划分是七三分,70%训练集,30%测试集。 但这并不是最好的。 因为不管是回归还是分类问题,在多次项 polynomial 的选择上有很多。在讨论过拟合问题中我们提到过,高次项过多是过拟合的一种表征,而都是1次项组成又容易发生欠拟合。 多次项如何选择呢。就需要数据集的划分出验证集来做验证。 数据集首先应该打乱顺序,因为一些数据可能存在递增递减,或者按时间段起伏的特点,如果在划分数据的时候是按顺序划分,很可能让每份数据差别很大。所以需要随机并按比例分。 其次数据集应该分为三分,60%训练集,20%验证集,20%测试集。 为什么会多出了...

学概率的那些“差”

原创 2018-04-21 11:47 阅读(102)次
平均数,一般用字母μ表示 算数平均数 ,mean,表达的都是同一种意思,一般是指 不过还有加权平均数,即每项都有不同权重值。即 标准差,一般用字母σ表示   方差,variance  为总体方差,  为变量,  为总体均值,  为总体例数。

学-极大似然估计

转载 2018-04-02 00:30 阅读(102)次
这是一个基于概率的算法。 转自百度百科的原理  极大似然估计 它是建立在极大似然原理的基础上的一个统计方法,极大似然原理的直观想法是,一个随机试验如有若干个可能的结果A,B,C,... ,若在一次试验中,结果A出现了,那么可以认为实验条件对A的出现有利,也即出现的概率P(A)较大。极大似然原理的直观想法我们用下面例子说明。设甲箱中有99个白球,1个黑球;乙箱中有1个白球.99个黑球。现随机取出一箱,再从抽取的一箱中随机取出一球,结果是黑球,这一黑球从乙箱抽取的概率比从甲箱抽取的概率大得多,这时我们自然更多地相信这个黑球是取自乙箱的。一般说来,事件A发生的概率与某一未知参数&...

Merkle Signature Scheme(merkle树)

原创 2018-03-26 11:39 阅读(177)次
merkle树是是一种哈希二叉树,它是一种用作快速归纳和校验大规模数据完整性的数据结构。 Merkle Signature Scheme 是hash密码学中基于merkle树和一次性签名(one-time signatures ,如Lamport signature)的的数字签名方案。 70年代开发,是数字签名算法或者RSA的替代品。 主要的特点是可以抵抗量子计算算法。 传统的公钥算法,如RSA和EIGamal 因为量子计算机(quantum computer)的出现而变得不安全(由于shor's 算法)。 而Merkle Signature Scheme 只依赖于hash...

Lamport signature

原创 2018-03-25 13:24 阅读(116)次
lamport signature 是一种数字签名方法。使用单向的安全加密函数来构建,一般用hash函数。 目前基于large hash function 的lamport signature是安全的。 但缺点是lamport signature只能签署单个消息。但可以通过结合hash trees就可以用于多个消息。目前他是相当有效的一种数字签名方案。 leslie发明于1979年。 这里参考了维基百科。 他的原理: 首先创建lamport key pair(秘钥对)。使用随机数生成器生成256对随机数(256对就是512个)。每个随机数字的大小是256位,所以总共是512*256 bits&...

学-最小二乘法

转载 2018-03-23 16:54 阅读(104)次
我这里转载知乎上 司马懿 的回答,我个人认为通俗易懂,写得非常好。原文地址在 知乎-最大似然估计和最小二乘法怎么理解?的回答 设想一个例子,教育程度和工资之间的关系。我们观察到的数据无非就是一个教育程度,对应着一个工资。我们希望的自然是找到两者之间的规律:如果把教育程度的初中、高中、大学、研究生及博士定义为1234的话,我们希望找到类似于工资=1000 +2000x教育程度  的这种规律,其中1000和2000是我们需要从数据里面发现的,前者称之为底薪,后者称之为教育增量薪水。 如果我们就观察到两个数据,那解起来很简单,直接把两个数据带进去,二元一次方程组,就得到底薪和教育...

学-arg

原创 2018-03-23 16:24 阅读(90)次
公式中常见到 arg min()  或者 arg max() 他们的含义是 argument of the maximum/minimum。 即 arg max f(x): 当f(x)取最大值时,x的取值集合 arg min f(x):当f(x)取最小值时,x的取值集合 如:    f(x)  = 1 - |x|   .         arg max f(x)  就是 {0} ,  因为当x = 0 的时候, 1-|x| = 1 是f(x)的极限。 如果...

学-范

转载 2018-03-22 17:43 阅读(123)次
范数分为   向量范数和矩阵范数。范数,是具有“长度”概念的函数。 参考:https://blog.csdn.net/zouxy09/article/details/24971995   https://blog.csdn.net/jack_20/article/details/72896459   https://www.zhihu.com/question/20473040          引用了其中很多学习到的内容 向量范数:  对N维度的空间中任意一个向量X,按照一定的法...

学-线性,非线性

转载 2018-03-22 17:12 阅读(108)次
在机器学习中,经常讨论线性和非线性,这是一个入门级扫盲,我记录下来完全是自己查阅。 我查看了不同的一些网上说法,选择这个解释 转载自:  https://zhidao.baidu.com/question/94379061.html 线性linear,指量与量之间按比例、成直线的关系,在空间和时间上代表规则和光滑的运动; 非线性non-linear则指不按比例、不成直线的关系,代表不规则的运动和突变。 线性:指量与量之间按比例、成直线的关系,在数学上可以理解为一阶导数为常数的函数; 非线性:则指不按比例、不成直线的关系,一阶导数不为常数。 线性关系:两个变量之间存在一次方函...

学概念- 矩阵特征值,特征向量

原创 2018-03-22 17:00 阅读(108)次
笔者深入地学习机器学习后,发现多年前的数学已经都还给了老师。还有一些是没有学习过的知识。 这里我打算我需要重新确认的数学知识记录下来。 但我能力有限,很多是转载,在这里先感谢那些在网上编写这些数学知识的达人。 矩阵特征值和特征向量我反正是还给老师了,重新学习后,感觉还是需要一些生动的比拟来解释。 这些是我结合知乎和CSDN上的内容的整合。 定义: 设A是n阶矩阵,如果数λ和n维非零向量x使关系式    成立,那么,这样的数λ称为矩阵A的特征值,非零向量v称为A的对应于特征值λ的特征向量。 首先得先弄清矩阵的概念:一个矩阵代表的是一个线性变换规则,而一个矩阵的乘法运行代表...

python用selenium进行数据爬取

原创 2018-03-02 11:51 阅读(129)次
现在数据爬取无非针对两种数据:网页和API接口,API返回的数据基本是json,xml这类的格式。 而网页的数据则复杂的多,很多数据可能是用javascript的动态加载的。如果这时候只用httpclient或者python的requests来获取就无法满足。 模拟浏览器就可以攻破js这堵墙。selenium这方面技术的翘楚。 本文讲解win10环境,python3使用selenium爬取网页数据。 python 3 默认是没有selenium,需要安装。用pip安装pip install selenium 安装完成后,本文用firefox来作为启动的浏览器。#引入selenium包 fr...

分类之逻辑回归的代价函costfunction梯度下降求解

原创 2018-02-25 17:14 阅读(139)次
我们在 分类之  分类之逻辑回归的代价函数costfunction  此文中已经给出了cost function, 现在我们要求解。 依然是用梯度下降法来求解,找到cost function  的最小值    minJ(θ)。 因为minJ(θ) 就是说明预测和真实值最接近,预测函数得出的错误“代价”最小。        梯度下降法就是重复做下面的计算 而后半部分求导得到         ...

octave之算Arithmetic

原创 2018-02-23 14:24 阅读(166)次
数学的遗忘是我学习机器学习中最烦恼的事情了。我不知道有多少程序员跟我一样把数学大部分都已经还给老师了。但要学好机器学习甚至是深度学习,数学得捡回来。Exponents and Logarithms 指数和对数Trigonometry 三角函数其他Exponents and Logarithms 指数和对数e 约等于2.718这件事情没忘吧。exp (x)计算以自然对数e为底的指数计算exp(3) ans = 20.086log (x)以e为底求对数log(2.71) ans = 0.99695log1p (x)相当于log(x+1) ,貌似没什么用的方法。...

分类之逻辑回归的代价函costfunction

原创 2018-02-23 02:57 阅读(401)次
为什么不能用线性回归的cost function适合logistic regression的cost function为什么不能用线性回归的cost function 所谓代价函数,就是预测值和真实值的误差-----称为cost。而这个cost越小,说明预测越准确。也说明越拟合训练样本,也就能求出拟合训练样本的最好的θ。 如何去拟合训练样本,来找到θ 这个参数矩阵,就是求出分类预测函数h(x)剩下的问题了。 通过  线性回归的求解原理和cost function  一文,我们知道通过找到cost function的最低值,可以找出最佳的预测函数的方方法。 所以我们...

分类之逻辑回归和sigmoid函

原创 2018-02-22 15:40 阅读(159)次
前文    机器学习之分类入门   我们提到线性回归并不适合分类问题,分类问题需要的输出是在0<=y<=1  这个范围内。所以我们需要一个假设函数的输出在这个范围。        逻辑回归就是用了这样一个函数,他就是sigmoid函数,他也叫logistic function。         sigmoid函数由于其单增以及反函数单增等性质,Sigmoid函数常被用作神经网络的阈值函数(也叫激活函数,在神经网络中会介绍),将变量映射...

octave之字类型

原创 2018-02-22 00:58 阅读(158)次
octave拥有数字类型,包含标量,矢量,矩阵。 标量 scalar标量就是单个数字。如果是实数整数,可以用二进制,十进制,十六进制表示。默认十进制。二进制由 0b或者0B开头,十六进制由0x或者0X开头下面是表示相同的值:42 # decimal notation 0x2A # hexadecimal notation 0b101010 # binary notation 0b10_1010 # underscore notation round (42.1) # also binary64 只有十进制数可以表示小数 .10...