首页 文章 精选 留言 我的

精选列表

搜索[关系代数],共10001篇文章
优秀的个人博客,低调大师

Android版本和API Level对应关系

http://developer.android.com/guide/topics/manifest/uses-sdk-element.html Platform Version API Level VERSION_CODE Android 6.0 23 M Android 5.1 22 LOLLIPOP_MR1 Android 5.0 21 LOLLIPOP Android 4.4W 20 KITKAT_WATCH Android 4.4 19 KITKAT Android 4.3 18 JELLY_BEAN_MR2 Android 4.2, 4.2.2 17 JELLY_BEAN_MR1 Android 4.1, 4.1.1 16 JELLY_BEAN Android 4.0.3, 4.0.4 15 ICE_CREAM_SANDWICH_MR1 Android 3.2 13 HONEYCOMB_MR2 Android 3.1.x 12 HONEYCOMB_MR1 Android 3.0.x 11 HONEYCOMB

优秀的个人博客,低调大师

腾讯云 AI 存储“全家桶”,重构智能体时代数据存储新范式

2026年7月10日,2026科学智能计算应用大会于郑州国际文化交流中心举办。其中 “存力协同创新,共筑 AI 数据底座” 存储论坛上,腾讯云存储高级产品经理王致铭发表《AI 时代存储新范式》主题演讲,现场完整拆解腾讯云面向智能体场景打造的 Agent Bucket、Vector Bucket、MetaInsight 三大 AI 原生存储产品,结合内部规模化落地案例,详解 AI 浪潮下存储架构革新思路与实践价值。

优秀的个人博客,低调大师

Facebook下一代数据存储只宕机5分钟

自2010年将SMS、chat、email及Facebook Messages整合到1个收件箱后,我们就开始使用HBase。自此之后,社交巨头Facebook就一直扩展这个基于HDFS的分布式键值存储系统以满足自己的业务需求。基于其高写入和低随机读取延时,那个时候HBase被选择作为Messages平台的潜在持久数据存储系统。此外,HBase还具备一些其他优点,比如纵向扩展、强一致性以及自动故障转移带来的高可用。从那时起,Facebook就开始重度使用HBase,比如Messages这样的在线事务处理以及一些经常用到在线分析的地方,当下HBase已用于内部监视系统、Nearby Friends功能、索引查询、流数据分析以及为内部数据仓库抓取数据。 HBase可靠性 在Facebook通常会出现这样一个情况,选择一个潜在满足需求的技术堆栈,然后不停的去优化。对于Facebook来说,可靠性尤为重要,而当下我们使用HBase需求面临的挑战是单主机失败、机架级故障以及密集存储之间的细微差别。解决这些方法的途径之一就是使用主从设置,在两个集群之间做异步更新。然而,这样做的话,我们需要面对集群级别的故障转移,如此主从故障转移将会花费数分钟的时间,而异步操作毫无疑问会带来数据丢失,HydraBase帮我们解决了这一问题。 HBase基础 在了解HydraBase之前,首先解释一些HBase的基础概念。在HBase中,数据是物理共享的,也就是所说的regions。regions通过region服务器管理,每个region服务器会负责一个或以上的region。当数据被添加到HBase,它首先会被写到一个write-ahead log(WAL),即HLog。一旦写入,这个数据会被存储到一个内存MemStore中。一旦数据超过了某个阈值,它们就被持久化到磁盘。随着MemStore持久化到磁盘的HFiles数量增多,HBase会将几个小的文件合到一些大的文件中,来减少读的开销,这就是所谓的压缩。 当某个region服务器发生故障,这个服务器负责的所有region都会转移到另一个服务器,执行故障转移。鉴于HBase故障转移中的实现方式,这将需要做WAL的分割和复制,这将大大的延长故障转移的时间。 HydraBase相关 上文所说正是HydraBase与之最大的区别,取代region都只被单一的region服务器控制,在HydraBase中,每个region可以被一群region服务器控制。当某个region服务器发生故障,备用的region服务器会立刻接手服务它所控制的region,这些备用的region服务器可能横跨不同的机架甚至是数据中心,通过不同的故障域来提供高可用。控制每个region的服务器会形成一个quorum,每个quorum都有1个负责region服务器来处理来自客户端的读和写请求。HydraBase使用RAFT一致协议来保证跨quorum的一致性,每个quorum都使用2F+1,HydraBase可以承受F级故障。region server通过同步写入WAL来保障一致性,但是只有一部分的region server需要完全的写入来保证一致性。 quorum中的成员只存在active或witness两个模式,active模式成员会写入到HDFS,期间会执行数据持久化和压缩。witness成员只会参与复制WAL,但是在负责region服务器失败时可以立刻使用。 HydraBase部署模型 HydraBase部署 在这个情况下,HydraBase的部署跨越了3个数据中心,quorum的大小为5。通过这样的设置,负责region server可以转移到该区域的任何一个成员。如果只是图1中的Active Leader失败,同一个数据中心的Witness Follower将取而代之,客户端的请求将给它发送。如果丢失的是整个数据中心,见第二张图,第二个数据中心的Active Follower会取而代之,鉴于数据中心2的region server仍然可以给HDFS中写数据,因此即使是数据中心1不可见,数据仍然可以访问。 图1 图2 HydraBase的另一个好处是有效的解耦逻辑和物理备份,此外,因为不需要分割日志,故障转移将会很快速的执行,HydraBase能将Facebook全年的宕机时间缩减到不到5分钟。Facebook目前正在测试HydraBase,并计划在生产集群中逐步开始部署。 原文发布时间为:2014年06月10日 本文作者:Facebook 本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。

优秀的个人博客,低调大师

SMSSDK合理运用好友关系的方法

一、功能介绍获取手机通讯录中联系人列表里使用此应用的用户信息,app可以提示:你的联系人里某某也正在使用,是否添加好友开发者可以在用户验证手机号码成功或注册成功后通过 + (void) submitUserInfo:(SMSSDKUserInfo *)userInfo result:(SMSSubmitUserInfoResultHandler)result; 上传该用户的信息,如头像,昵称等。如果另一个用户的通讯录联系人里有上传过的用户,开发者可以通过 + (void) getAllContactFriends:(SMSGetContactsFriendsResultHandler)result; 获取到该好友的信息(验证的电话号码,区号,昵称,头像等)二、使用演示开启通讯录好友功能 [SMSSDK enableAppContactFriends:YES]; 在用户验证手机号后 提交用户的信息。 [SMSSDK commitVerificationCode:@"1234" phoneNumber:@"13800138000" zone:@"86" result:^(NSError *error) { if (!error) { // 验证成功,注册逻辑 // 注册成功 SMSSDKUserInfo *user = [[SMSSDKUserInfo alloc] init]; user.phone = @"13800138000"; user.zone = @"1234"; user.avatar = @"http://www.mob.com/public/images/logo_black.png"; user.nickname = @"Max"; user.uid = @"123456789" //开发者可以绑定自已app用户的id [SMSSDK submitUserInfo:user result:^(NSError *error) { if (!error) { //上传成功 } }]; } else { // error } }]; 获取通讯录联系人中使用该app的用户(通讯录好友)返回的信息即上面上传的userinfo.Objective-C [SMSSDK getAllContactFriends:^(NSError *error, NSArray *friendsArray) { if (!error) { NSLog(@"%@",friendsArray); } }];

优秀的个人博客,低调大师

hive 中的 关系运算 不等于

1.等值比较: = 语法:A=B 操作类型:所有基本类型 描述: 如果表达式A与表达式B相等,则为TRUE;否则为FALSE 举例: hive>select 1 from lxw_dual where 1=1; 1 2.不等值比较: <> 语法: A <> B 操作类型: 所有基本类型 描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A与表达式B不相等,则为TRUE;否则为FALSE 举例: hive> select1 from lxw_dual where 1 <> 2; 1 注意: 由于在通常得SQL写法中不等于也可以这样写 != 。但在hive中,当一个string类型和int类型比较的时候会出现问题。 数字和数字类型用可以用 != 比较: hive>select*fromt_pvorderwhere1!=1andstart_date=20130306limit1; OK Timetaken:0.079seconds 带引号的数字和数字类型可以用!=比较: hive>select*fromt_pvorderwhere"136258563267"!=0andstart_date=20130306limit1; OK 132349939618074113437046875509ec010221310000201-12013-03-0620:59:071362574747440zW420130306 Timetaken:0.169seconds 带引号的数字和带引号数字类型可以用 !=比较: hive>select*fromt_pvorderwhere"136258563267"!="0"andstart_date=20130306limit1; OK 132349939618074113437046875509ec010221310000201-12013-03-0620:59:071362574747440zW420130306 Timetaken:0.129seconds 字符串和数字类型不可以用 !=比较: hive>select*fromt_pvorderwhere0!="1362585632671uFu"andstart_date=20130306limit1; TotalMapReducejobs=1 LaunchingJob1outof1 Numberofreducetasksissetto0sincethere'snoreduceoperator //发起mapreduce查不出结果 .... 字符串和数字类型不可以用 <>比较: hive>select*fromt_pvorderwhere0<>"1362585632671uFu"andstart_date=20130306limit1; TotalMapReducejobs=1 LaunchingJob1outof1 Numberofreducetasksissetto0sincethere'snoreduceoperator //发起mapreduce查不出结果.... 总之,用不等于比较的时候两者的字段类型尽量保持一致。 3.小于比较: < 语法: A < B 操作类型: 所有基本类型 描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A小于表达式B,则为TRUE;否则为FALSE 举例: hive> select1 from lxw_dual where 1 < 2; 1 4.小于等于比较: <= 语法: A <= B 操作类型: 所有基本类型 描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A小于或者等于表达式B,则为TRUE;否则为FALSE 举例: hive> select1 from lxw_dual where 1 <= 1; 1 5.大于比较: > 语法: A > B 操作类型: 所有基本类型 描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A大于表达式B,则为TRUE;否则为FALSE 举例: hive> select1 from lxw_dual where 2 > 1; 1 6.大于等于比较: >= 语法: A >= B 操作类型: 所有基本类型 描述: 如果表达式A为NULL,或者表达式B为NULL,返回NULL;如果表达式A大于或者等于表达式B,则为TRUE;否则为FALSE 举例: hive> select1 from lxw_dual where 1 >= 1; 1 注意:String的比较要注意(常用的时间比较可以先to_date之后再比较) hive> select* from lxw_dual; OK 201111120900:00:00 2011111209 hive> selecta,b,a<b,a>b,a=b from lxw_dual; 201111120900:00:00 2011111209 falsetrue false 7.空值判断: IS NULL 语法: A IS NULL 操作类型: 所有类型 描述: 如果表达式A的值为NULL,则为TRUE;否则为FALSE 举例: hive> select1 from lxw_dual where null is null; 1 8.非空判断: IS NOTNULL 语法: A IS NOT NULL 操作类型: 所有类型 描述: 如果表达式A的值为NULL,则为FALSE;否则为TRUE 举例: hive> select1 from lxw_dual where 1 is not null; 1 9. LIKE比较: LIKE 语法: A LIKE B 操作类型: strings 描述: 如果字符串A或者字符串B为NULL,则返回NULL;如果字符串A符合表达式B 的正则语法,则为TRUE;否则为FALSE。B中字符”_”表示任意单个字符,而字符”%”表示任意数量的字符。 举例: hive> select1 from lxw_dual where 'football' like 'foot%'; 1 hive> select1 from lxw_dual where 'football' like 'foot____'; 1 注意:否定比较时候用NOT ALIKE B hive> select1 from lxw_dual where NOT 'football' like 'fff%'; 1 10. JAVA的LIKE操作: RLIKE 语法: A RLIKE B 操作类型: strings 描述: 如果字符串A或者字符串B为NULL,则返回NULL;如果字符串A符合JAVA正则表达式B的正则语法,则为TRUE;否则为FALSE。 举例: hive> select1 from lxw_dual where 'footbar’ rlike '^f.*r$’; 1 注意:判断一个字符串是否全为数字: hive>select 1from lxw_dual where '123456' rlike '^\\d+$'; 1 hive> select1 from lxw_dual where '123456aa' rlike '^\\d+$'; 11. REGEXP操作: REGEXP 语法: A REGEXP B 操作类型: strings 描述: 功能与RLIKE相同 举例: hive> select1 from lxw_dual where 'footbar' REGEXP '^f.*r$'; 1 本文转自 yntmdr 51CTO博客,原文链接:http://blog.51cto.com/yntmdr/1828092,如需转载请自行联系原作者

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册