• 关于

    数据描述问题怎么解决

    的搜索结果

问题

如何解决coredata多线程的同步问题

a123456678 2019-12-01 20:27:18 967 浏览量 回答数 1

回答

Re天池数据可视化大赛参赛指南 数据下载以后包含很多乱码, 是出于保密专门设置的? 还是数据对Excel版本有要求? ------------------------- 回 7楼gloriayy的帖子 刚才描述问题不够具体, sorry.  0629更新包的数据txt里的内容是没有乱码了, 但是csv有部分文件还有乱码. 比较麻烦的是表文件的名称都是乱码. 最快的解决方式我觉得就是我们自己重命名所有文件啦, 而且只用txt导入. 其他组怎么解决这个问题的? 交流一下吧

gloriayy 2019-12-02 01:48:51 0 浏览量 回答数 0

回答

ReDMS新增数据库总是显示待添加怎么破? 楼主您好,抱歉给您带来不便。请问现在能否正常添加数据库?如果不行,可以尝试清一下浏览器缓存,并使用https访问DMS。能否描述一下出现这个问题时的使用步骤或场景,以便我们解决问题。

大喵哥 2019-12-02 01:25:11 0 浏览量 回答数 0

Quick BI 数据可视化分析平台

2020年入选全球Gartner ABI魔力象限,为中国首个且唯一入选BI产品

回答

这是oracle的bug,请下载oracle 最新的jar,连接地址: http://download.oracle.com/otn/utilities_drivers/jdbc/11204/ojdbc6.jar 首先,恭喜楼主问题得解,可喜可贺! 其次,感谢楼主解决问题后的分享。 但是我有几点建议想对楼主谏言(不喜勿看,打扰见谅): 第一,从此问题的最终解决来看。楼主的描述实在是不足以让别人更好的帮助你解决问题。首先,你的标题和你的问题就对不上。其次,关于问题描述,最开始你只是把error的stacktrace信息发布出来,这样别人根本就无法很好的帮你判断问题,后来你对描述还更新过一次,加上了表结构和代码,但实际问题是在于oracle的驱动问题,你的描述也没有突出你用的是oracle的这个重点。为了让别人更好的帮助你,望今后把重点信息表述出来,感谢! 第二,对于问题的解决你也没有描述清楚。首先,prepareStatement这个API的文档说明并不能说明oracle驱动的这个bug,对于问题的解决没有实际的帮助。其次,你附带的那个csdn的帖子里面也对这个bug没有任何明确的说明,而且那个帖子最后的一个回复者所述,换驱动并没有解决同样的问题,这样让读者对此bug的描述和解决难免产生质疑,缺乏可信度。虽然我又去stackoverflow确认过了,确实是oracle的jdbc驱动的问题,但是单就此问题的分享的角度,楼主的答案并没有充分体现出分享的价值。为了给大家带来更好的帮助,望楼主以后在回答的时候能给出更权威可信的答案。 ps:我附上stackoverflow对oracle驱动bug的帖子,作为对楼主的补充,供大家参考:http://stackoverflow.com/questions/277744/jdbc-oracle-arrayindexoutofboundsexception 文中还描述了一种workaround的解决方案,请大家参阅。 以上!万谢!大家看过来,这个才是最佳答案^_^谢谢提醒,以后多加注意!这。。。。。这个和8个有什么关系啊,直觉上感觉是你传进去的paras的size根本就不够吧。你调试看一下当时的数据是怎么样的?而且你这标题。。。是怎么回事?你这错误是在save时候的,为什么标题是说getModel的问题?你是说getModel没有给你取到9个属性么?回复 @小兵一枚:呵呵,什么要侮辱,有问题提提怎么了,不要盲目的崇拜!问题原因是oracle的bug!回复 @蚂蚁蚂蚁:不要侮辱强大的JFinal亲莫非你们都是小表! java.lang.ArrayIndexOutOfBoundsException: 8 下次提问还是先检查下错误再提吧 查了查api,如下: prepareStatementPreparedStatementprepareStatement(Stringsql,String[]columnNames)throwsSQLException创建一个能返回由给定数组指定的自动生成键的默认PreparedStatement对象。此数组包含目标表中列的名称,而目标表包含应该返回的自动生成键。如果SQL语句不是INSERT语句,或者SQL语言能够返回自动生成的键(这类语句的列表是特定于供应商的),则驱动程序将忽略该数组。带IN参数或不带IN参数的SQL语句都可以被预编辑并存储在PreparedStatement对象中。然后可以使用此对象多次有效地执行该语句。注:为了处理受益于预编译的带参数SQL语句,此方法进行了优化。如果驱动程序支持预编译,则prepareStatement方法将该语句发送给数据库进行预编译。一些驱动程序可能不支持预编译。在这种情况下,执行PreparedStatement对象之前无法将语句发送给数据库。这对用户没有直接影响;但它的确会影响哪些方法将抛出某些SQLException。使用返回的PreparedStatement对象创建的结果集在默认情况下类型为TYPE_FORWARD_ONLY,并带有CONCUR_READ_ONLY并发级别。已创建结果集的可保存性可调用getHoldability()确定。参数:sql-可能包含一个或多个'?'IN参数占位符的SQL语句columnNames-列名称数组,这些名称指示应该从一个或多个插入行中返回的那些列返回:一个包含预编译语句的新PreparedStatement对象,该对象能够返回由给定列名称数组指定的自动生成键抛出:SQLException-如果发生数据库访问错误,或者在关闭的连接上调用此方法SQLFeatureNotSupportedException-如果JDBC驱动程序不支持此方法 嗯嗯,这才是正解吗感谢楼主解决问题后回来分享,此贴应该放在技术分享区哈 

爱吃鱼的程序员 2020-06-23 11:59:19 0 浏览量 回答数 0

问题

用javaApi访问大数据hdfs文件系统被拒绝访问的问题

1031047089641000 2019-12-01 19:17:11 82 浏览量 回答数 1

问题

如何将Excel中的数据导入到SQLServer2008拆分的表中

lenmora 2019-12-01 21:59:34 8328 浏览量 回答数 2

回答

没人回答啊 ,,,是我描述的不清楚吗? 我刚开始学,,,请理解一哈.######这么长一坨代码,怎么看?建议你先做个简单的demo.要先能导出PDF.然后再添加数据,一步一步来,至少知道问题在哪里######本地环境能够导出PDF ,就是发布到服务器上就报错 我也是这样的 楼主怎么解决的?######3Q. 忘记说了 本地环境能够导出PDF ,就是发布到服务器上就报错###### 一般这个问题 内容行是kong'de

爱吃鱼的程序员 2020-06-04 17:10:41 0 浏览量 回答数 0

问题

如何取消一个删除操作?

杨冬芳 2019-12-01 20:07:34 1344 浏览量 回答数 1

回答

这其实是一个生产/消费模型中的一个问题: 顺序消费的问题.(假定生产者已将数据按照顺序放入队列)最开始能想到的方法:单线程消费, 这样就严格保证了顺序.但带来的问题是消费速度慢, 特别是这种插入关系型数据库(耗IO)的行为, 这样就会导致队列全满, 从而有可能影响到生产者, 或者是丢失数据, 消耗内存.可以从两个方面解决:•仍然保持单线程消费, 而提高后端的消费速度, 从题主的case看, 记录的只是用户的行为日志, 很多时候, 日志只需要进行append即可, 即顺序写磁盘, 或者写类似于HBase等LSM tree的数据库.(当然也会带来查询上的问题).•单线程换成多线程, 题注的case中,只关注单个用户的顺序性, 所以可以对用户进行分区(比如简单的hash).可以对队列进行分区, 也可以对消费线程进行分区, 从而达到并行的效果.另外, 从题主的描述来看, 我猜想可能是个 web 应用, 并且使用了内存队列作为操作日志的缓存, 再通过异步线程去写入这些日志.这里需要注意的是, 如果你的部署结果是 N台web + 前端负载, 那么还需要注意前端负载对用户的路由策略, 如果全局的用户操作日志已经没有顺序了, 那么单机再怎么严格顺序, 也没有意义.

蛮大人123 2019-12-02 01:55:28 0 浏览量 回答数 0

问题

调用Mongodb API 显示 couldn't connect to server

cantary 2019-12-01 19:34:32 1571 浏览量 回答数 0

问题

【精品问答】python必备面试干货

问问小秘 2019-12-01 21:53:38 1125 浏览量 回答数 2

回答

随便修改下代码,jetty重新加载下,打印了以下日志,再开页面就好了,真神奇啊 nullpointer异常很好找原因建议调试一下,可能是使用model.find的时机过早,早在activerecordplugin启动之前 肯定不存在调用过早的情况啦?   我简单调试过,启动时 DbKit.modelToConfig在TableBuilder.build()时,填充的有数据,  执行index()里的find()时   DbKit. modelToConfig是空的,导致 nullpointer, jetty重新加载后   DbKit. modelToConfig被填充,是正确的 再 执行index()里的find()时   DbKit. modelToConfig就是有数据的了,就正常了.  周末花了点时间把这个问题解决了,虽然最终也没从根本上弄懂是怎么回事,只是简单的解决了; 说起来也算是我自己矫情吧,弄了 一个web工程运行,一个java工程生成jfinal代码且被web工程依赖,就会出现正文描述的现象,合成一个eclipise工程就ok了,啥事没有. 我感觉还是工程依赖后web运行前class加载的顺序问题导致的,不是特别明白. 我用的my eclipise6.5,JDK6,算是比较老的了.

爱吃鱼的程序员 2020-06-09 15:58:05 0 浏览量 回答数 0

问题

设备上报数据,如何按时段统计平均值?

游客k5munlr4pbzru 2020-11-30 21:47:42 11 浏览量 回答数 1

问题

【求助】使用POI生成excel的巨坑? 400 报错

爱吃鱼的程序员 2020-06-05 13:15:35 0 浏览量 回答数 1

问题

Vue面试题汇总【精品问答】

问问小秘 2020-05-25 18:02:28 20475 浏览量 回答数 4

问题

BmobQuery查询到的数据如何传值给全局变量??报错

爱吃鱼的程序员 2020-06-09 15:58:28 0 浏览量 回答数 1

问题

讨论PostgreSQL 和其他数据库的差异在哪里

云栖技术 2019-12-01 21:56:16 2721 浏览量 回答数 1

问题

动态修补数据库

保持可爱mmm 2019-12-01 22:00:19 86 浏览量 回答数 1

问题

使用xutils里面的HttpUtils时候如何在servlet中向其传回一个值???

爵霸 2019-12-01 19:22:58 979 浏览量 回答数 1

问题

阿里云服务器访问提速

七夜梦 2019-12-01 18:54:13 258 浏览量 回答数 0

问题

【精品问答】大数据计算技术1000问

问问小秘 2019-12-01 21:57:13 6895 浏览量 回答数 2

问题

发现读取的数据只是覆盖原来的数据, 原来的数据还保留,怎么在读取前清空呢?:报错

kun坤 2020-06-07 14:03:39 0 浏览量 回答数 1

回答

已解决,第三方的问题,接口文档中没说必须传cook,之前只传了登录成功后返回的token,所以一直出错!######你这描述都不清楚,问你几个问题 1、token有实效时间吗? 2、token有刷新时间吗? 3、后台是需要对这个token通过验证才可以有拉去数据的权限? 4、后端在哪里拦截token的啊?请求的头部?用什么作为key的? 这些东西,你都不说清楚,人家怎么帮你 ######不知道啊,就是不懂才准备找个示例好好学习。搜了些,看的晕乎乎的。

爱吃鱼的程序员 2020-06-01 14:07:13 0 浏览量 回答数 0

回答

回 1楼51干警网的帖子 用户名和密码没错哦。 我在本地也没有问题。而且,我用SQLyog(一个mysql图形用户界面工具)远程连接云服务器上的数据库也可以连接上! ------------------------- 回 3楼扛雷来了的帖子 就我一个人访问啊,刚刚部署的网站。 另外,请问怎么关注数据库网络情况? ------------------------- 回 4楼买醉的帖子 我知道肯定我的问题啦。 敢问大侠,如果出现这种问题,如何排除错误呢? ------------------------- 回 7楼买醉的帖子 你还需要什么信息呢? 数据库文档看了还是不能判断哪里有问题哦,在本地自己电脑上面搭建过了n次,都是正常的,我觉得自己对jforum还是比较熟悉的,不知道为什么在云服务器上面就连接超时。 另外,mysql还需要设置什么呢?不就是给指定的数据库创建一个用户名和密码么?我在本地用图形用户界面工具都是可以远程连接mysql呀。 ------------------------- 回 9楼买醉的帖子 能加你qq?我的qq:943608716 ------------------------- 回 9楼买醉的帖子 ------------------------- 回 12楼买醉的帖子 好的。thank you~ ------------------------- Remysql连接超时? 1、问题描述 Mysql连接超时。 2、原因分析 原因是vpsmate里面修改了root的密码,就导致报错mysql连接超时,这应该是vpsmate的一个bug,或者是云服务器的一个bug。 3、解决方法 一开始设置了mysql的密码之后,就不要修改它。 如果修改了,再把密码改回来。 我是在第二次换掉操作系统之后,一个个地排除才发现是这个问题。

内向 2019-12-02 01:01:48 0 浏览量 回答数 0

问题

比赛_快速入门_4_19_update_仅供参考,思维不要受局限

小斯never 2019-12-01 21:43:08 30563 浏览量 回答数 24

回答

1、提交了.p12文件后多久可以测试? 提交后10分钟左右才可以测试,并不是立即生效的。 2、应用在后台时接收不到消息,即APNS消息接收不到? 先去查看CID和APPID绑定是否正确。 根据CID去查devicetoken,确认CID和devicetoken绑定是否正确。 查看证书是否上传错误 服务端推送的,请检查离线时间是否设置。 3、devicetoken和Clientid绑定错误怎么办? 原因如下:换证书环境后,devicetoken是变掉了,但是CID没变导致不会立即重新绑定devicetoken(一般是24小时后会重新绑定),服务端记录的还是原来的devicetoken。解决办法如下:需要一个gxsdkconfig.plist文件重新放在工程中,打包,卸载原来的应用并重新安装。CID变化了会重新绑定devicetoken,这样绑定就不会有问题了。 4、在发布到appstroe时,证书环境需要更换吗? 开发的时候需要上传开发证书,开发测试OK后,发布到appstore之前,需要把证书更换成生产证书,证书更换后10分钟左右生效。 苹果设备上,CID是唯一的,一般不会变化,一般不建议重新生成CID。 如果CID与deviceToken绑定错误,需要重新生成一个CID来方便测试的操作方法:需要gxsdkconfig.plist文件,重新打包,把原来应用卸载重新安装新打包的这个。 5、更换证书后,客户端隔多久会重新绑定? 证书更换后, 过24小时才会重新绑定一次,这时devicetoken会变掉。24小时内做测试的话,会因Clientid和devicetoken绑定问题导致消息接收不到,因为证书更换后的devicetoken变掉了但没有更新到服务器,导致服务端查询到的devicetoken是错误的。 6、无效的devicetoken问题 一般来说是证书环境的问题,更换证书环境导致的。 先看clientid和devicetoken绑定是否有问题。 查看本地的证书环境是否与平台上传的证书环境一致。 查看证书是否有过期。 6、为什么IOS客户端会收到两条一样的消息? 是因为一个devicetoken绑定了两个Clientid导致的。 因证书环境变更,导致Clientid与devicetoken绑定变化,但服务端的数据没有更新,还是与旧的devicetoken绑定的。当用plist文件获取到新的clientid后,会重新绑定一下,这时新旧两个clientid都会绑定到同一个devicetoken上。当群推消息时,会根据clientid找到devicetoken进行APNS发送,这时新旧两个clientid都会发送一条数据,导致客户端会接收到两条数据。 7、Tcp方式和http在性能上哪个比较好,各适用与哪个场景? tcp是长链接,吞吐量更大,性能更好一些 tcp不支持toApp群推的 群推toApp用http方式的,因为只有一个请求 8、IOS平台推送成功接收,服务端代码推送toApp却接收不到,返回AppIdNoUsers错误? 查看代码里的phoneTypeList中添加的是否为IOS。要修改为add(“IOS”) 9、IOS签名失败的解决办法: 问题描述:The applicationdoes not have a valid signature. 解决办法:把BundleIdentifier 改成你自己的id,也就是说这里应该填你们证书里面已经申请的那个应用id。 10、生产证书下怎么获取devicetoken? 生产证书不能在Xcode里进行联机debug,要先把应用包打出来,安装在手机上,然后在Xcode的origanizer->device选择你的设置,然后在consloe里查看日志,devicetoken和clientid都会打印出来的。 11、ios开发证书以及生产证书打包教程 1、生产环境证书:http://wenku.baidu.com/link?url=YhxG022XH_BlvRRZxutnDz0ANEvCm6W9218tIVzX_PEHNtZ2T1K9Y_d-g7jm9-JnFAcWByXcJF6EqHBmVeXlbvmmLfElXtb5-kuf2il4Qae 2、开发环境证书:http://wenku.baidu.com/view/6dddcd27192e45361166f505.html 12、关于ios8的通知功能: 1.如果使用ios8sdk编译,需要使用新的registerForRemoteNotifications/registerUserNotificationSettings接口,否则无法获取devicetoken 2.如果使用ios8以前的sdk编译,接口无需变动,直接使用老版本的registerForRemoteNotifications接口即可 13、收到通知后,点击通知栏后怎么让这条通知在通知栏里消失。 这个通知本来是不会清掉的,需要客户端自己写代码才能清掉,可以参考这里 http://www.cocoachina.com/ask/questions/show/99491

杨冬芳 2019-12-02 02:59:46 0 浏览量 回答数 0

回答

回 2楼(zc_0101) 的帖子 您好,       您的问题非常好,SQL SERVER提供了很多关于I/O压力的性能计数器,请选择性能计算器PhysicalDisk(LogicalDisk),根据我们的经验,如下指标的阈值可以帮助你判断IO是否存在压力: 1.  % Disk Time :这个是磁盘时间百分比,这个平均值应该在85%以下 2.  Current Disk Queue Length:未完成磁盘请求数量,这个每个磁盘平均值应该小于2. 3.  Avg. Disk Queue Length:磁盘请求队列的平均长度,这个每个磁盘平均值也应该小于2 4.  Disk Transfers/sec:每次磁盘传输数量,这个每个磁盘的最大值应该小于100 5.  Disk Bytes/sec:每次磁盘传入字节数,这个在普通的磁盘上应该在10M左右 6.  Avg. Disk Sec/Read:从磁盘读取的平均时间,这个平均值应该小于10ms(毫秒) 7.  Avg. Disk Sec/Write:磁盘写入的平均时间,这个平均值也应该小于10ms(毫秒) 以上,请根据自己的磁盘系统判断,比如传统的机械臂磁盘和SSD有所不同。 一般磁盘的优化方向是: 1. 硬件优化:比如使用更合理的RAID阵列,使用更快的磁盘驱动器,添加更多的内存 2. 数据库设置优化:比如创建多个文件和文件组,表的INDEX和数据放到不同的DISK上,将数据库的日志放到单独的物理驱动器,使用分区表 3. 数据库应用优化:包括应用程序的设计,SQL语句的调整,表的设计的合理性,INDEX创建的合理性,涉及的范围很广 希望对您有所帮助,谢谢! ------------------------- 回 3楼(鹰舞) 的帖子 您好,      根据您的描述,由于查询产生了副本REDO LOG延迟,出现了架构锁。我们知道SQL SERVER 2012 AlwaysOn在某些数据库行为上有较多变化。我们先看看架构锁: 架构锁分成两类: 1. SCH-M:架构更改锁,主要发生在数据库SCHEMA的修改上,从你的描述看,没有更改SCHEMA,那么可以排除这个因素 2. SCH-S:架构稳定锁,主要发生在数据库的查询编译等活动 根据你的情况,应该属于SCH-S导致的。查询编译活动主要发生有新增加了INDEX, 更新了统计信息,未参数化的SQL语句等等 对于INDEX和SQL语句方面应,我想应该不会有太多问题。 我们重点关注一下统计信息:SQL SERVER 2012 AG副本的统计信息维护有两种: 1. 主体下发到副本 2. 临时统计信息存储在TEMPDB 对于主体下发的,我们可以设置统计信息的更新行为,自动更新时,可以设置为异步的(自动更新统计信息必须首先打开): USE [master] GO ALTER DATABASE [Test_01]     SET AUTO_UPDATE_STATISTICS_ASYNC ON WITH NO_WAIT GO 这样的话查询优化器不等待统计信息更新完成即编译查询。可以优化一下你的BLOCK。 对于临时统计信息存储在TEMPDB里面也是很重要的,再加上ALWAYSON的副本数据库默认是快照隔离,优化TEMPDB也是必要的,关于优化TEPDB这个我想大部分都知道,这里只是提醒一下。 除了从统计信息本身来解决,在查询过程中,可以降低查询的时间,以尽量减少LOCK的时间和范围,这需要优化你的SQL语句或者应用程序。 以上,希望对您有所帮助。谢谢! ------------------------- 回 4楼(leamonjxl) 的帖子 这是一个关于死锁的问题,为了能够提供帮助一些。请根据下列建议进行: 1.    跟踪死锁 2.    分析死锁链和原因 3.    一些解决办法 关于跟踪死锁,我们首先需要打开1222标记,例如DBCC TRACEON(1222,-1), 他将收集的信息写入到死锁事件发生的服务器上的日志文件中。同时建议打开Profiler的跟踪信息: 如果发生了死锁,需要分析死锁发生的根源在哪里?我们不是很清楚你的具体发生死锁的形态是怎么样的。 关于死锁的实例也多,这里不再举例。 这里只是提出一些可以解决的思路: 1.    减少锁的争用 2.    减少资源的访问数 3.    按照相同的时间顺序访问资源 减少锁的争用,可以从几个方面入手 1.    使用锁提示,比如为查询语句添加WITH (NOLOCK), 但这还取决于你的应用是否允许,大部分分布式的系统都是可以加WITH (NOLOCK), 金融行业可能需要慎重。 2.    调整隔离级别,使用MVCC,我们的数据库默认级别是READ COMMITED. 建议修改为读提交快照隔离级别,这样的话可以尽量读写不阻塞,只不过MVCC的ROW VERSION保存到TEMPDB下面,需要维护好TEMPDB。当然如果你的整个数据库隔离级别可以设置为READUNCOMMINTED,这些就不必了。 减少资源的访问数,可以从如下几个方面入手: 1.    使用聚集索引,非聚集INDEX的叶子页面与堆或者聚集INDEX的数据页面分离。因此,如果对非聚集INDEX 操作的话,会产生两个锁,一个是基本表,一个是非聚集INDEX。而聚集INDEX就不一样,聚集INDEX的叶子页面和表的数据页面相同,他只需要一个LOCK。 2.    查询语句尽量使用覆盖INDEX, 使用全覆盖INDEX,就不需要访问基本表。如果没有全覆盖,还会通过RID或者CLUSTER INDEX访问基本表,这样产生的LOCK可能会与其他SESSION争用。 按照相同的时间顺序访问资源: 确保每个事务按照相同的物理顺序访问资源。两个事务按照相同的物理顺序访问,第一个事务会获得资源上的锁而不会被第二个事务阻塞。第二个事务想获得第一个事务上的LOCK,但被第一个事务阻塞。这样的话就不会导致循环阻塞的情况。 ------------------------- 回 4楼(leamonjxl) 的帖子 两种方式看你的业务怎么应用。这里不仅是分表的问题,还可能存在分库,分服务器的问题。取决与你的架构方案。 物理分表+视图,这是一种典型的冷热数据分离的方案,大致的做法如下: 1.    保留最近3个月的数据为当前表,也即就是我们说的热数据 2.    将其他数据按照某种规则分表,比如按照年或者季度或者月,这部分是相对冷的数据 分表后,涉及到几个问题: 第一问题是,转移数据的过程,一般是晚上业务比较闲来转移,转移按照一定的规则来做,始终保持3个月,这个定时任务本身也很消耗时间 再者,关于查询部分,我想你们的数据库服务器应该通过REPLICATION做了读写分离的吧,主库我觉得压力不会太大,主要是插入或者更新,只读需要做视图来包含全部的数据,但通过UNION ALL所有分表的数据,最后可能还是非常大,在某些情况下,性能不一定好。这个是不是业务上可以解决。比如,对于1年前的历史数据,放在单独的只读上,相对热的数据放在一起,这样压力也会减少。 分区表的话,因为涉及到10亿数据,要有好的分区方案,相对比较简单一点。但对于10亿的大表,始终是个棘手的问题,无论分多少个分区,单个服务器的资源也是有限的。可扩展性方面也存在问题,比如在只读上你没有办法做服务器级别的拆分了。这可能也会造成瓶颈。 现在很多企业都在做分库分表,这些的要解决一些高并发,数据量大的问题。不知是否考虑过类似于中间件的方案,比如阿里巴巴的TDDL类似的方案,如果你有兴趣,可以查询相关资料。 ------------------------- 回 9楼(jiangnii) 的帖子 阿里云数据库不仅提供一个数据库,还提供数据库一种服务。阿里云数据库不仅简化了基础架构的部署,还提供了数据库高可用性架构,备份服务,性能诊断服务,监控服务,专家服务等等,保证用户放心、方便、省心地使用数据库,就像水电一样。以前的运维繁琐的事,全部由阿里云接管,用户只需要关注数据库的使用和具体的业务就好。 关于优化和在云数据库上处理大数据量或复杂的数据操作方面,在云数据库上是一样的,没有什么特别的地方,不过我们的云数据库是使用SSD磁盘,这个比普通的磁盘要快很多,IO上有很大的优势。目前单个实例支持1T的数据量大小。陆续我们会推出更多的服务,比如索引诊断,连接诊断,容量分析,空间诊断等等,这些工作可能是专业的DBA才能完成的,以后我们会提供自动化的服务来为客户创造价值,希望能帮助到客户。 谢谢! ------------------------- 回 12楼(daniellin17) 的帖子 这个问题我不知道是否是两个问题,一个是并行度,另一个是并发,我更多理解是吞吐量,单就并行度而言。 提高并行度需要考虑的因素有: 1.    可用于SQL SERVER的CPU数量 2.    SQL SERVER的版本(32位/64位) 3.    可用内存 4.    执行的查询类型 5.    给定的流中处理的行数 6.    活动的并发连接数量 7.    sys.configurations参数:affinity mask/max server memory (MB)/ max degree of parallelism/ cost threshold for parallelism 以DOP的参数控制并行度为例,设置如下: SELECT * FROM sys.configurations WITH (NOLOCK) WHERE name = 'max degree of parallelism' EXEC sp_configure 'max degree of parallelism',2 RECONFIGURE WITH OVERRIDE 经过测试,DOP设置为2是一个比较适中的状态,特别是OLTP应用。如果设置高了,会产生较多的SUSPEND进程。我们可以观察到资源等待资源类型是:CXPACKET 你可以用下列语句去测试: DBCC SQLPERF('sys.dm_os_wait_stats',CLEAR) SELECT * FROM sys.dm_os_wait_stats WITH (NOLOCK) ORDER BY 2 DESC ,3 DESC 如果是吞吐量的话。优化的范围就很广了。优化是系统性的。硬件配置我们选择的话,大多根据业务量来预估,然后考虑以下: 1.    RAID的划分,RAID1适合存放事务日志文件(顺序写),RAID10/RAID5适合做数据盘,RAID10是条带化并镜像,RAID5条带化并奇偶校验 2.    数据库设置,比如并行度,连接数,BUFFER POOL 3.    数据库文件和日志文件的存放规则,数据库文件的多文件设置规则 4.    TEMPDB的优化原则,这个很重要的 5.    表的设计方面根据业务类型而定 6.    CLUSTERED INDEX和NONCLUSTERED INDEX的设计 7.    阻塞分析 8.    锁和死锁分析 9.    执行计划缓冲分析 10.    存储过程重编译 11.    碎片分析 12.    查询性能分析,这个有很多可以优化的方式,比如OR/UNION/类型转换/列上使用函数等等 我这里列举一个高并发的场景: 比如,我们的订单,比如搞活动的时候,订单刷刷刷地增长,单个实例可能每秒达到很高很高,我们分析到最后最常见的问题是HOT PAGE问题,其等待类型是PAGE LATCH竞争。这个过程可以这么来处理,简单列几点,可以参考很多涉及高并发的案例: 1.    数据库文件和日志文件分开,存放在不同的物理驱动器磁盘上 2.    数据库文件需要与CPU个数形成一定的比例 3.    表设计可以使用HASH来作为表分区 4.    表可以设置无序的KEY/INDEX,比如使用GUID/HASH VALUE来定义PRIMARY KEY CLUSTER INDEX 5.    我们不能将自增列设计为聚集INDEX 这个场景只是针对高并发的插入。对于查询而言,是不适合的。但这些也可能导致大量的页拆分。只是在不同的场景有不同的设计思路。这里抛砖引玉。 ------------------------- 回 13楼(zuijh) 的帖子 ECS上现在有两种磁盘,一种是传统的机械臂磁盘,另一种是SSD,请先诊断你的IO是否出现了问题,本帖中有提到如何判断磁盘出现问题的相关话题,请参考。如果确定IO出现问题,可以尝试使用ECS LOCAL SSD。当然,我们欢迎你使用云数据库的产品,云数据库提供了很多有用的功能,比如高可用性,灵活的备份方案,灵活的弹性方案,实用的监控报警等等。 ------------------------- 回 17楼(豪杰本疯子) 的帖子 我们单个主机或者单个实例的资源总是有限的,因为涉及到很大的数据量,对于存储而言是个瓶颈,我曾使用过SAN和SAS存储,SAN存储的优势确实可以解决数据的灵活扩展,但是SAN也分IPSAN和FIBER SAN,如果IPSAN的话,性能会差一些。即使是FIBER SAN,也不是很好解决性能问题,这不是它的优势,同时,我们所有DB SERVER都连接到SAN上,如果SAN有问题,问题涉及的面就很广。但是SAS毕竟空间也是有限的。最终也会到瓶颈。数据量大,是造成性能问题的直接原因,因为我们不管怎么优化,一旦数据量太大,优化的能力总是有限的,所以这个时候更多从架构上考虑。单个主机单个实例肯定是抗不过来的。 所以现在很多企业在向分布式系统发展,对于数据库而言,其实有很多形式。我们最常见的是读写分离,比如SQL SERVER而言,我们可以通过复制来完成读写分离,SQL SERVER 2012及以后的版本,我们可以使用ALWAYSON来实现读写分离,但这只能解决性能问题,那空间问题怎么解决。我们就涉及到分库分表,这个分库分表跟应用结合得紧密,现在很多公司通过中间件来实现,比如TDDL。但是中间件不是每个公司都可以玩得转的。因此可以将业务垂直拆分,那么DB也可以由此拆分开来。举个简单例子,我们一个典型的电子商务系统,有订单,有促销,有仓库,有配送,有财务,有秒杀,有商品等等,很多公司在初期,都是将这些放在一个主机一个实例上。但是这些到了一定规模或者一定数据量后,就会出现性能和硬件资源问题,这时我们可以将它们独立一部分获完全独立出来。这些都是一些好的方向。希望对你有所帮助。 ------------------------- 回 21楼(dt) 的帖子 问: 求大数据量下mysql存储,优化方案 分区好还是分表好,分的过程中需要考虑事项 mysql高并发读写的一些解决办法 答: 分区:对于应用来说比较简单,改造较少 分表: 应用需较多改造,优点是数据量太大的情况下,分表可以拆分到多个实例上,而分区不可以。 高并发优化,有两个建议: 1.    优化事务逻辑 2.    解决mysql高并发热点,这个可以看看阿里的一个热点补丁: http://www.open-open.com/doc/view/d58cadb4fb68429587634a77f93aa13f ------------------------- 回 23楼(aelven) 的帖子 对于第一个问题.需要看看你的数据库架构是什么样的?比如你的架构具有高可用行?具有读写分离的架构?具有群集的架构.数据库应用是否有较冷门的功能。高并发应该不是什么问题。可扩展性方面需要考虑。阿里云数据库提供了很多优势,比如磁盘是性能超好的SSD,自动转移的高可用性,没有任何单点,自动灵活的备份方案,实用的监控报警,性能监控服务等等,省去DBA很多基础性工作。 你第二个问题,看起来是一个高并发的场景,这种高并发的场景容易出现大量的LOCK甚至死锁,我不是很清楚你的业务,但可以建议一下,首先可以考虑快照隔离级别,实现行多版本控制,让读写不要阻塞。至于写写过程,需要加锁的粒度降低最低,同时这种高并发也容易出现死锁,关于死锁的分析,本帖有提到,请关注。 第三个问题,你用ECS搭建自己的应用也是可以的,RDS数据库提供了很多功能,上面已经讲到了。安全问题一直是我们最看重的问题,肯定有超好的防护的。 ------------------------- 回 26楼(板砖大叔) 的帖子 我曾经整理的关于索引的设计与规范,可以供你参考: ----------------------------------------------------------------------- 索引设计与规范 1.1    使用索引 SQL SERVER没有索引也可以检索数据,只不过检索数据时扫描这个表而异。存储数据的目的,绝大多数都是为了再次使用,而一般数据检索都是带条件的检索,数据查询在数据库操作中会占用较大的比例,提高查询的效率往往意味着整个数据库性能的提升。索引是特定列的有序集合。索引使用B-树结构,最小优化了定位所需要的键值的访问页面量,包含聚集索引和非聚集索引两大类。聚集索引与数据存放在一起,它决定表中数据存储的物理顺序,其叶子节点为数据行。 1.2    聚集索引 1.2.1    关于聚集索引 没聚集索引的表叫堆。堆是一种没有加工的数据,以行标示符作为指向数据存储位置的指针,数据没有顺序。聚集索引的叶子页面和表的数据页面相同,因此表行物理上按照聚集索引列排序,表数据的物理顺序只有一种,所以一个表只有一个聚集索引。 1.2.2    与非聚集索引关系 非聚集索引的一个索引行包含指向表对应行的指针,这个指针称为行定位器,行定位器的值取决于数据页保存为堆还是被聚集。若是堆,行定位器指向的堆中数据行的行号指针,若是聚集索引表,行定位器是聚集索引键值。 1.2.3    设计聚集索引注意事项     首先创建聚集索引     聚集索引上的列需要足够短     一步重建索引,不要使用先DROP再CREATE,可使用DROP_EXISTING     检索一定范围和预先排序数据时使用,因为聚集索引的叶子与数据页面相同,索引顺序也是数据物理顺序,读取数据时,磁头是按照顺序读取,而不是随机定位读取数据。     在频繁更新的列上不要设计聚集索引,他将导致所有的非聚集所有的更新,阻塞非聚集索引的查询     不要使用太长的关键字,因为非聚集索引实际包含了聚集索引值     不要在太多并发度高的顺序插入,这将导致页面分割,设置合理的填充因子是个不错的选择 1.3    非聚集索引 1.3.1    关于非聚集索引 非聚集索引不影响表页面中数据的顺序,其叶子页面和表的数据页面时分离的,需要一个行定位器来导航数据,在将聚集索引时已经有说明,非聚集索引在读取少量数据行时特别有效。非聚集索引所有可以有多个。同时非聚集有很多其他衍生出来的索引类型,比如覆盖索引,过滤索引等。 1.3.2    设计非聚集索引     频繁更新的列,不适合做聚集索引,但可以做非聚集索引     宽关键字,例如很宽的一列或者一组列,不适合做聚集索引的列可作非聚集索引列     检索大量的行不宜做非聚集索引,但是可以使用覆盖索引来消除这种影响 1.3.3    优化书签查找 书签会访问索引之外的数据,在堆表,书签查找会根据RID号去访问数据,若是聚集索引表,一般根据聚集索引去查找。在查询数据时,要分两个部分来完成,增加了读取数据的开销,增加了CPU的压力。在大表中,索引页面和数据页面一般不会临近,若数据只存在磁盘,产生直接随机从磁盘读取,这导致更多的消耗。因此,根据实际需要优化书签查找。解决书签查找有如下方法:     使用聚集索引避免书签查找     使用覆盖索引避免书签查找     使用索引连接避免数据查找 1.4    聚集与非聚集之比较 1.4.1    检索的数据行 一般地,检索数据量大的一般使用聚集索引,因为聚集索引的叶子页面与数据页面在相同。相反,检索少量的数据可能非聚集索引更有利,但注意书签查找消耗资源的力度,不过可考虑覆盖索引解决这个问题。 1.4.2    数据是否排序 如果数据需要预先排序,需要使用聚集索引,若不需要预先排序就那就选择聚集索引。 1.4.3    索引键的宽度 索引键如果太宽,不仅会影响数据查询性能,还影响非聚集索引,因此,若索引键比较小,可以作为聚集索引,如果索引键够大,考虑非聚集索引,如果很大的话,可以用INCLUDE创建覆盖索引。 1.4.4    列更新的频度 列更新频率高的话,应该避免考虑所用非聚集索引,否则可考虑聚集索引。 1.4.5    书签查找开销 如果书签查找开销较大,应该考虑聚集索引,否则可使用非聚集索引,更佳是使用覆盖索引,不过得根据具体的查询语句而看。 1.5    覆盖索引 覆盖索引可显著减少查询的逻辑读次数,使用INCLUDE语句添加列的方式更容易实现,他不仅减小索引中索引列的数据,还可以减少索引键的大小,原因是包含列只保存在索引的叶子级别上,而不是索引的叶子页面。覆盖索引充当一个伪的聚集索引。覆盖索引还能够有效的减少阻塞和死锁的发生,与聚集索引类似,因为聚集索引值发生一次锁,非覆盖索引可能发生两次,一次锁数据,一次锁索引,以确保数据的一致性。覆盖索引相当于数据的一个拷贝,与数据页面隔离,因此也只发生一次锁。 1.6    索引交叉 如果一个表有多个索引,那么可以拥有多个索引来执行一个查询,根据每个索引检索小的结果集,然后就将子结果集做一个交叉,得到满足条件的那些数据行。这种技术可以解决覆盖索引中没有包含的数据。 1.7    索引连接 几乎是跟索引交叉类似,是一个衍生品种。他将覆盖索引应用到交叉索引。如果没有单个覆盖索引查询的索引而多个索引一起覆盖查询,SQL SERVER可以使用索引连接来完全满足查询而不需要查询基础表。 1.8    过滤索引 用来在可能没有好的选择性的一个或者多个列上创建一个高选择性的关键字组。例如在处理NULL问题比较有效,创建索引时,可以像写T-SQL语句一样加个WHERE条件,以排除某部分数据而检索。 1.9    索引视图 索引视图在OLAP系统上可能有胜算,在OLTP会产生过大的开销和不可操作性,比如索引视图要求引用当前数据库的表。索引视图需要绑定基础表的架构,索引视图要求企业版,这些限制导致不可操作性。 1.10    索引设计建议 1.10.1    检查WHERE字句和连接条件列 检查WHERE条件列的可选择性和数据密度,根据条件创建索引。一般地,连接条件上应当考虑创建索引,这个涉及到连接技术,暂时不说明。 1.10.2    使用窄的索引 窄的索引有可减少IO开销,读取更少量的数据页。并且缓存更少的索引页面,减少内存中索引页面的逻辑读取大小。当然,磁盘空间也会相应地减少。 1.10.3    检查列的唯一性 数据分布比较集中的列,种类比较少的列上创建索引的有效性比较差,如果性别只有男女之分,最多还有个UNKNOWN,单独在上面创建索引可能效果不好,但是他们可以为覆盖索引做出贡献。 1.10.4    检查列的数据类型 索引的数据类型是很重要的,在整数类型上创建的索引比在字符类型上创建索引更有效。同一类型,在数据长度较小的类型上创建又比在长度较长的类型上更有效。 1.10.5    考虑列的顺序 对于包含多个列的索引,列顺序很重要。索引键值在索引上的第一上排序,然后在前一列的每个值的下一列做子排序,符合索引的第一列通常为该索引的前沿。同时要考虑列的唯一性,列宽度,列的数据类型来做权衡。 1.10.6    考虑索引的类型 使用索引类型前面已经有较多的介绍,怎么选择已经给出。不再累述。 ------------------------- 回 27楼(板砖大叔) 的帖子 这两种都可以吧。看个人的喜好,不过微软现在的统一风格是下划线,比如表sys.all_columns/sys.tables,然后你再看他的列全是下划线连接,name     /object_id    /principal_id    /schema_id    /parent_object_id      /type    /type_desc    /create_date    /modify_date 我个人的喜好也是喜欢下划线。    

石沫 2019-12-02 01:34:30 0 浏览量 回答数 0

问题

如何保证缓存与数据库的双写一致性?【Java问答】38期

剑曼红尘 2020-06-16 12:58:57 36 浏览量 回答数 1

回答

该怎么写,简单的就行######https://zb.oschina.net/###### 引用来自“南湖船老大”的评论 https://zb.oschina.net/ 意思就是 发钱, 让别人写###### 做一顿饭,如果你只是让人告诉你菜怎么做,饭怎么煮的话,应该会有很多人乐意教你 如果你要别人做一顿饭给你吃,这叫下馆子,要给钱的!!! ######回复 @innocence• : 楼下已经有报价,私信他们咯######多少钱,我给就是了。你给我写出来就行######500排队######200带走···######60带走######50不能再低了!######这个页要问别人要钱,开源中国 都些这样的人?######回复 @maradona : 你特么在逗我笑了呢 这一看就知道是学生来提问 或者初学者 还特么售后,你已经钻到钱眼里去了吧######给钱都不愿意干啊,看起来很简单,但完全没赚头,再小也是个J2EE工程啊,数据库web容器缺一不可,还有售后,你要帮人家搭建好环境,甚至java,maven,数据库都要替他搞定,最怕的是还得让他知道怎么跑项目,给他答疑(这么简单都不会做,估计会的真不多,基本是新手状态了),费的时间精力完全跟报酬不成正比,除非他是土豪,花个1000+以上哥就干###### 引用来自“茕鹰”的评论这个页要问别人要钱,开源中国 都些这样的人? 我还是比较克制的描述下我的观点,1.我这人对钱真没那么在意,在意的是时间,他用钱买我的时间这也是很正常,做这个对我一点都没提高,他又不是妹子,跟他交流完全不会提高我的愉悦感, 2.人家是学生,学生就应该一步一步自己把这个做出来,他明显是让人帮他全做了,所以这已经是生意了,又不是讨论,楼上我已经描述了我的观点,教你做菜是爱好,是互相帮助,给你做菜,那是工作,是劳动成果,那就是钱,当然给钱我都懒得干,说要钱也是调侃罢了,谁真会去要这个钱?只是想让他知难而退罢了 当然言辞有点不当请见谅 ######回复 @innocence• : 就事论事,你这问题提的,哥是半点都没看出来是想请教大家如何解决问题的,而是想找个人替你把这个功能实现罢了. 你去看看别人的帖子,有几个会这么回复?搞得你还虚心请教了...通篇就是一个需求点描述嘛,一个请,谢谢等敬语都没(当然大家不在意这个),也没说自己菜鸟,啥都不会,帮忙指点一下的词语,综上所述,恕我只能把你归类于伸手党######给你1W你不干?我只是想问问该怎么做,果然思想就是不一样,我就不信你们刚开始学得时候没有一大堆问题。这么简单的东西能让你们想这么多,以后你的朋友让你帮他看看你也要钱,也说耽误时间。我只是个初学者,没想到开源中国的人,问一问知识都要钱一样,这个小东西,也不难,可我就是不会,我当然要通过各种渠道弄会,并不是坐享其成,我更不相信你遇到不会的你不去问别人。除非你是神童以后去思考人,换位一下。谢谢请谅解。

kun坤 2020-06-09 15:46:23 0 浏览量 回答数 0

问题

【精品问答】130+大数据面试汇总

问问小秘 2019-12-01 21:52:42 1644 浏览量 回答数 2
阿里云大学 云服务器ECS com域名 网站域名whois查询 开发者平台 小程序定制 小程序开发 国内短信套餐包 开发者技术与产品 云数据库 图像识别 开发者问答 阿里云建站 阿里云备案 云市场 万网 阿里云帮助文档 免费套餐 开发者工具 企业信息查询 小程序开发制作 视频内容分析 企业网站制作 视频集锦 代理记账服务 企业建站模板