云化从广告网络到电子商务网站等数不胜数的公开网络流量数据科学团队致力于分析数据供内外部使用
查看数据保护通用规则文章会发现-异常 Android设备标识码-用户通过它重置网络地址维护用户标识码-如内部协议和媒体存取控制地址以及国际移动设备识别码-侵犯隐私作为一种解决方案,你可以丢弃所有隐私标识或令用户可见重置
IP地址不太方便用户使用,但从中提取数据,例如常用地址(国家、状态)或不同会议数(没有cookie帮助)对业务成功至关重要。直至最近,计算这些维度时,地球提供商或内容传递网络需要全IP处理地址地理提供商主动表示公司内部存储键值结果或授予公司下载主逻辑数据集特权
最近,在审查云存日志数据分析时,我们发现从超过11800万请求样本中全球收到约1 250万个IP地址超过99%的地址为IPv4s本文章描述如何从列数据库到标准SQL定位密钥细节,如原产国
多数提供商提供下列逻辑数据集用三列绘制IPPNUMFER
,PNUMTo
并乡村代码
.约200K行取2.5MB盘空间IPNum
是通过IP简单计算算法算出举例说,1.2.3.4等于16909060=1256256256+2256256+3256+4,16909060模数256=4
研究1:执行下查询转换并发
数据库管理系统RDBMS中小于1-5K记录,工作效果可能很好:
SELECTip2countl.code,COUNT(1)请求s
研究2执行下查询局部关联
水平上,它可能慢点处理少数记录,但速度更快处理更多记录,即大容量约10-25K行
SELECT(SELECTipi2country.ipnum_ip2country.ipnum_to)
- 1-5k和10-25k数字只是粗略估计视数据库性能而定,大小可能各异
- 两种情况中,真正的问题都发生在记录数增加数达百万时,然后查询性能会根据数据库优化者对优化的观察而急剧下降
约宁市
或交错
条款原样CARTESANDJOIN
至全景
记录资料集 - SQL数据库通常性能
约宁市
更有效地任务精确EQUAL语言
(=) rather than a交错
条件详解时时空间索引等解决方案可更好地仿真交错
逻辑学 - 特别是在分栏数据库中,这些类型解决方案可能完全失效,因为我们处理超过一亿记录时通常有超过一百万单值
终极问题:你如何将范围值数据集转换成键值数据集?选项之一是取数据并缓存结果以上例子,从理论上讲,你需要1 250万个键值缓存相对于2万个范围缓存,这可能需要加带宽才能加入数据集动态增长
取而代之的是:
- 逆向设计区值数据集成键值数据集
- 将键值数据集保留到最小octets(1),最大值为3octetsi-255间运行的四个IP组件
换句话说
- 案例100.0-100.255.255匹配美国唯一0.0.0.0-US第一个oct数据集
- 自你不再想接收四级IP后 完全放弃四级IP
- 可行时保留三点数据集提高性能
- 每月或每季度更新数据集
完成转换前,让我们看看结果
将二百K测距数据集转换为三oct数据集时,每个oct数据集取一时,你可以看到,既然每个oct提供不同大小的数据(50、50K和2.5MM行),将它们分离可能是明智之举。再者,如果前一数据集已经向您提供结果,您可跳过加入数据集的阶梯
研究3与预期一样,下文查询在列数据库上表现优得多:
SELECT CoLESCE(split_PATER.CORT2CLIP2
前台约宁市
任务占用总执行时间的80%以上现在它需要不到5%,剩余任务为正常任务:实际数据扫描、排序和汇总
可能发现数据低于兴趣
文章引用的数据和结果取自云端开放网络流量和IP直方图唯一.
大小用法Oct
八叉子 | 数据集总大小 | 总计号数据集中的密钥 | 号废键对数据集 | 号异常匹配IP | 号处理请求 |
---|---|---|---|---|---|
一号 | 1KB | 52 | 8 | 11 505 | 44111 |
2 | 180KB | 42801 | 25941 | 11 231 825 | 64 582 450 |
3 | 10MB | 2 411 552 | 282 110 | 1 528 017 | 54 303 033 |
使用百分比合计
八叉子 | 偏差IPs% | 请求百分比 |
---|---|---|
一号 | 0.09% | 0.04% |
2 | 87.94% | 54.30% |
3 | 11.96% | 45.66% |
关键结果估计
八叉子 | 号请求逐项数据集记录 | 号特征IP逐项记录 |
---|---|---|
一号 | 5513.88 | 1438.13 |
2 | 2489.59 | 432.98 |
3 | 192.49 | 5.42 |
以下是结论
- 前两个octes通过IP地址发现88%的国家仅使用三分数据集将使规模从10MB提高到至少60MB-效率低得多
- 上三点数据集只表示 IP地址的12%, 一半流量(45%)取自该地址表示约3oct密钥频繁重复,产生更多流量
- 数据集分结果显示55%请求处理无需要探索主10MB三分数据集
响应商业伙伴的要求, 我们做了类似研究 美国转换写道:
八叉子 | 数据集总大小 | 号废键对数据集 | 号废键对数据集 | 号异常匹配IP | 号处理请求 |
---|---|---|---|---|---|
一号 | 1KB | 九九 | 3 | 285 | 1,056 |
2 | 50KB | 10 910 | 2 404 | 523086 | 3 582 907 |
3 | 10MB | 2 729 087 | 661224 | 3 926 536 | 5666197 |
- 前从性能观点看 95%以上流量转换取自三点数据集比起国家转换进程效率低
- 发现美国各州无法正确转换 只使用IP前三大值
- 美国范围值数据集通常取自
IP2City
数据集
逆值逻辑转换键值逻辑
转换
IPNum
范围分离oct并提取精度oct从IPNUMFER、IPNUMtoOctiet1FER、Oct2FER、Octet3FER、Octet4FER和Octet1to、Octet2To
创建
actet12国家
:2.1UNNEST系统
中间值actet1发自
并八叉子
.2.2.分组Octet1Havingcount
创建
Octet22国家
:3.1.UNNEST系统
中间值actet1发自
并八叉子
.3.2伊格诺尔
值输入actet12国家
.3cm3重覆Octet2
差值范围:3.3.1ifactet1
大于actet1发自
集Octet2From
至0
.3.3.2.ifactet1
小于八叉子
集八叉2
至255
.3.4.UNNEST系统
中间值Octet2From
并八叉2
进进Octet2
.3.5分组Octet1,Octet2Haveningcount
创建
Octet32国家
:4.1UNNEST系统
中间值actet1发自
并八叉子
.4.2伊格诺尔
值输入actet12国家
.4.3重覆Octet2
差间范围:4.3.1ifactet1
大于actet1发自
集Octet2From
至0
.4.3.2.ifactet1
小于八叉子
集八叉2
至255
.4.4.4UNNEST系统
中间值Octet2From
并八叉2
进进Octet2
.4.5伊格诺尔
值输入Octet22国家
.4.6.重覆Octet3
差间范围:4.6.ifOctet2
大过Octet2From
集Octet3From
至0
.4.6.2ifOctet2
小于八叉2
集八叉子3
至255
.4.7UNNEST系统
中间值Octet3From
并八叉子3
进进Octet3
.4.8组Octet1,Octet2,Octet3Haveningcount
转换
actet12国家
,Octet22国家
并Octet32国家
进进PNum12国家
,PNum22国家
并PNum32国家
.月度或季度更新结果
逻辑可以多重方式实现原数据集仅称20MB,更容易调试浮动oct值
我们进行了这项研究 以了解我们多高能 丰富飞数据取箱外解决方案似乎往往比较容易,但每家公司处理数据的方式不同,从IP到用户代理和URL不等。即便净化、格式化或调和用法需要时间和努力,但每一个属性都承诺提供元数据丰富机会,这些机会正等待着。玩得开心点