
正文
包含postgresql知乎的词条
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
知乎上有哪些比较活跃的数据库领域大牛
阿里云数据库团队比较熟,随手梳理了以下
丁奇:MySQL社区核心成员。专注于数据存储系统、MySQL 源码研究和改进、MySQL 性能优化和功能改进。
子嘉:Redis中国用户会发起人,Redis技术大学校长
叶翔:MongoDB江浙地区用户会主席
在此之前也是淘宝Tair分布式KV系统的技术负责人,负责过阿里云Memcache,Redis服务等,在阿里集团工作8年,一直在做NoSQL相关的技术。
德歌:阿里云 PostgreSQL技术负责人,PostgreSQL中国技术大学校长、GreenPlum源码深度研究者
彭立勋:参与了ACMUG(MySQL中国用户组)的发起和组建,担任副主席和杭州地区的组织者。MariaDB基金会唯一的中国成员
萧少聪:PostgreSQL 中国社区主席
相关问答
Q1: pgsql比mysql好在哪
Pgsql和Mysql的对比
工作中用过这两个数据库,但都不是太深入,仅限于用而已,但给我留下的印象就是Pgsql更好些,因为这两个库我都遇到过数据丢失的问题,前者我通过网上方法加自己的判断有惊无险地恢复了,而后者搜索各种资料加问身边的专家都没办法。
刚网上搜了一下两者的区别,总体的感觉也是前者是最好的开源关系数据库,而后者是互联网行业应用最广泛的数据库, 可能应用等多发现的坑也多,网上相关资料也多。如果让我个人选没特殊要求情况下会选前者。
关于两个的区别可以看知乎上相关问题,回答很精彩,
其中一个如下。
一、 PostgreSQL 的稳定性极强, Innodb 等引擎在崩溃、断电之类的灾难场景下抗打击能力有了长足进步,然而很多 MySQL 用户都遇到过Server级的数据库丢失的场景——mysql系统库是MyISAM的,相比之下,PG数据库这方面要好一些。
二、任何系统都有它的性能极限,在高并发读写,负载逼近极限下,PG的性能指标仍可以维持双曲线甚至对数曲线,到顶峰之后不再下降,而 MySQL 明显出现一个波峰后下滑(5.5版本之后,在企业级版本中有个插件可以改善很多,不过需要付费)。
三、PG 多年来在 GIS 领域处于优势地位,因为它有丰富的几何类型,实际上不止几何类型,PG有大量字典、数组、bitmap 等数据类型,相比之下mysql就差很多,instagram就是因为PG的空间数据库扩展POSTGIS远远强于MYSQL的my spatial而采用PGSQL的。
四、PG 的“无锁定”特性非常突出,甚至包括 vacuum 这样的整理数据空间的操作,这个和PGSQL的MVCC实现有关系。
五、PG 的可以使用函数和条件索引,这使得PG数据库的调优非常灵活,mysql就没有这个功能,条件索引在web应用中很重要。
六、PG有极其强悍的 SQL 编程能力(9.x 图灵完备,支持递归!),有非常丰富的统计函数和统计语法支持,比如分析函数(ORACLE的叫法,PG里叫window函数),还可以用多种语言来写存储过程,对于R的支持也很好。这一点上MYSQL就差很远,很多分析功能都不支持,腾讯内部数据存储主要是MYSQL,但是数据分析主要是HADOOP+PGSQL(听李元佳说过,但是没有验证过)。
七、PG 得多种集群架构可以选择,plproxy 可以支持语句级的镜像或分片,slony 可以进行字段级的同步设置,standby 可以构建WAL文件级或流式的读写分离集群,同步频率和集群策略调整方便,操作非常简单。
八、一般关系型数据库的字符串有限定长度8k左右,无限长 TEXT 类型的功能受限,只能作为外部大数据访问。而 PG 的 TEXT 类型可以直接访问,SQL语法内置正则表达式,可以索引,还可以全文检索,或使用xml xpath。用PG的话,文档数据库都可以省了。
九,对于WEB应用来说,复制的特性很重要,mysql到现在也是异步复制,pgsql可以做到同步,异步,半同步复制。还有mysql的同步是基于binlog复制,类似oracle golden gate,是基于stream的复制,做到同步很困难,这种方式更加适合异地复制,pgsql的复制基于wal,可以做到同步复制。同时,pgsql还提供stream复制。
Q2: 如何找到适合需求的 Python 库
如果你能让软件固定位置不动。可以使用pyhook,其中有一个按鼠标按键的功能。通常可以用来做游戏的自动工具。
如果再想进一步,需要分析你的程序是什么做的。如果是WEB APP,需要知道它用什么浏览器内核,也调用相应的插件点击。 如果是传统WNDOWS程序,可以使用win32 api,通过获得窗口句柄 ,并通过迭代查询找到控件的句柄,最后用发送消息,获取消息的办法来控制它
。
其实python非常适合初学者入门。相比较其他不少主流编程语言,有更好的可读性,因此上手相对容易。自带的各种模块加上丰富的第三方模块,免去了很多“重复造轮子”的工作,可以更快地写出东西。配置开发环境也不是很复杂,mac和linux都内置了python。另外据我所知,不少学校也开始使用python来教授程序设计课程(比如本人的母校)。
我就是完全通过网上资源自学python的。
从在校时候用python接活赚零花钱,到在创业公司用python开发商业网站和游戏后台。所有遇到的问题,几乎都可以从互联网上的公开资源找到答案。
关于自学python,个人最大的3点经验:
找一本浅显易懂,例程比较好的教程,从头到尾看下去。不要看很多本,专注于一本。把里面的例程都手打一遍,搞懂为什么。我当时看的是《简明python教程》,不过这本书不是非常适合零基础初学者。
去找一个实际项目练手。我当时是因为要做一个网站,不得已要学python。这种条件下的效果比你平时学一门新语言要好很多。所以最好是要有真实的项目做。可以找几个同学一起做个网站之类。注意,真实项目不一定非要是商业项目,你写一个只是自己会用的博客网站也是真实项目,关键是要核心功能完整。
最好能找到一个已经会python的人。问他一点学习规划的建议(上知乎也是个途径),然后在遇到卡壳的地方找他指点。这样会事半功倍。但是,要学会搜索,学会如何更好地提问。没人愿意帮你写作业或是回答“一搜便知”的问题。
然而,别人的经验未必能完全复制。比如我没有说的是,在自学python之前,我已在学校系统学习过其他的编程语言。
对于完全没有编程经验的初学者,在学习python的时候,面对的不仅仅是python这门语言,还需要面临“编程”的一些普遍问题,比如:
从零开始,不知道从何入手,找了本编程教材发现第二章开始就看不懂了
缺少计算机基础知识,被一些教程略过的“常识性”问题卡住
遇到问题不知道怎么寻找解决方案
看懂语法之后不知道拿来做什么,学完一阵子就又忘了
缺少数据结构、设计模式等编程基础知识,只能写出小的程序片段
所以除了前面说的3点经验,给初学编程者的额外建议:
首先要有信心。虽然可能你看了几个小时也没在屏幕上打出一个三角形,或者压根儿就没能把程序运行起来。但相信我,几乎所有程序员一开始都是这么折腾过来的。
选择合适的教程。有些书很经典,但未必适合你,可能你写了上万行代码之后再看它会比较好。
写代码,然后写更多的代码。光看教程,编不出程序。从书上的例程开始写,再写小程序片段,然后写完整的项目。
除了学习编程语言,也兼顾补一点计算机基础,和英语。
不但要学写代码,还要学会看代码,更要会调试代码。读懂你自己程序的报错信息。再去找些github上的程序,读懂别人的代码。
学会查官方文档,用好搜索引擎和开发者社区。
另外还有一类程序,比如flash之类的。用这些方法都不成了。因为它内部的代码不公开。如果一定要进一步研发。可以试着反编译出action script。然后想办法替换其中的逻辑。再使用java script去控制其中的逻辑,实现自动化处理。
自己多问下为什么学python
如果一门语言没有改变你的编程思维,那么它不值得你去学习”。如果这么说,我们大学的时候,学习了c,c++,java,C#,算是值得学习么?很多时候是不值得,我觉得我们大学的课程就是用java,c#,c++把"C程序设计"又上了一遍.
这是因为,学校的老师会C和java之类的,所以要跟着规矩开这门课,(这也就是为什么,许多学校还在教vb,),这也就是为什么,你所以为的一样就是大家都有For都有while,都有switch..都有Class...都有int 都有float,所谓的不一样就是用C有指针,java没有,这就是为什么教育是失败的,这也就是为什么,我目前认识的几个编程大牛
python的优点:简单 我所说的简单,是相比于象C和C++这样的语言,你为了编程,要学习许多偏底层的东西.在比如,你在学习一个新的编程范式,或者想要马上做个例子看看,试验某个API,如果你是写java的,你不得不去写一个main,写一些构造,即使有IDE这样的东西,能够为你带来代码生成器,而我做得就是写一段“脚本”,或者打开python交互式解释器就行了。
自己认识的python朋友出去工作,工资比较高,然后自己又刚刚好是会python所以选择学习python,这样的人比较危险但是也比较有激励,还有就是觉得python比其他开发语言好用。
学完python前景会咋样
其实我个人是很看好python未来的就业前景的,因为我认识太多的工程师都已经在学python,很多都是月收入大几万的
我个人也并非一直用python。前些年主要用c/c++以及java开发一些通信,移动系统,互联网通信。近3年开始才转向python。坦白的说,这可能与你相处的公司以及环境不大一样。随便举个例子,google的protocol buffer协议一出来就具有c++/python/java三种语言支持。google的广告系统早在03,04年左右就一并对python进行了webservice支持,大部分涉及基础核心系统的公司,都开始对python进行了扩展支持。甚至开源社区的postgresql数据库,除了自身的ansi SQL,pgsql,pg/TCL,PG/PERL之外对python进行了内嵌支持,唯独却没有呼声很高的java。在FREEBSD(MIT)/LINUX(GPL)平台上,对java可能排斥性比较大,但综合而言,目前python发展还没有java那种普及,主要是python大部分工作仍然是在较为深入地系统层和框架层做设计开发,例如django,SQLAlchemy,fail2ban,mail邮件系统,twisted等等。这部分对于那种习惯应用前辈们框架的编码人员而言,缺乏创造力的他们根本无法适用这种开发。尤其在python涉及一些系统层面需要有较强的c/c++能力,这部分人在国内要么就累得要死没时间,要么就啥都不会就会拷贝代码,而国内公司也鲜有主动去做这部分基础劳动的,大多都是等别人做好了在直接拿来用,所以造就了任何技术性的东西出来,国内都是先等等看,然后抄袭应用。
大环境如此,但千万误认为先等等看吧。对于一个技术人员而言,缺乏对新技术的渴望与热情,这是一种非常危险的事情。我工作8年了,按照国内很多的人的说法早已不做代码了,但又一次在听一个老外的演讲,他说他50多岁仍然每天坚持写代码,了解最新的动态,所以他才能做到他们公司的首席科学家,因此它才能时刻指导项目团队前进并保证项目的质量。他坦言对于一个不写代码并且不了解最新的技术动态的技术人员或者技术团队的负责人而言,这种团队也就足够做作小项目,一旦压力和项目过大,就会有很多问题漏出来。
对于新人而言,无论学习什么技术,都要以鼓励的姿态出现。太多用薪水和你个人所看到的现状去衡量一门技术,那绝对是欠缺眼光的。任何一门技术,一旦有人学习,他有可能逐渐成为这个领域的专家,即便再滥再没有人用的开发语言技术,他也有可能就是明日的奠基者或者大师。
自己如何确定目标
在生活中学会不断挖掘自己的潜力。我们都是一个普通人,可能并不清楚自己到底在哪方面占有优势。所以,学着在生活中找到自己的优势,并根据优势选择一定的就业方向。
不随波逐流。不要看周围的人做什么,自己就做什么,也许别人做的并不适合你。别人的优势很可能会成为你的劣势。所以,坚定自己的想法,让自己知道那些方面适合自己,自己可以胜任。
不断尝试可能成为自己的优势。你不知道什么适合自己,所以才要大胆、勇敢地尝试。找到一种可以属于你的独特的优势。
坚定信念。一旦你坚定了自己的信念,就不要被别人的意见或是讽刺或是嘲笑所干扰。别人不是你,不懂的你在想什么,不清楚你开始这件事的源头。你的事情,不了解你的人,没有资格轻易评说。
不茫然,不多想。别让太多的事干扰到你奋斗下去的信念。梦想不容许太多的杂念。那些杂念只会让你的心愈来愈脆弱,多为一个人考虑,到头来,伤害的还是自己。
选择自己学习方法
每个人都有适合自己的方法,有的人去选择自学,有的人选择看视频学习,有的人选择报名培训班,那在这个时候,你就要自己考虑清楚,到底那样对的帮助是最大的,个人觉得是跟着培训班最好的,毕竟人家的实战项目多,我们学软件开发的都知道实战项目对于学好一门语言是 很重要的。
学习python有那些误区
具体里面的误区非常的多,那些就不需要我去写出来,我给你说的一般都是心态的问题,首先一个觉得自己会java和c++,然后我学习python就很牛,但是你要知道语言是有很多相同的地方,但是不是通用,一定要自己学习的仔细。还有一种就是觉得我不会英语,我要先去把英语学习好在来学python。因为自己想还坏主意然后学习,这样的都是容易找进误区的。
Q3: 文件管理系统的文件管理系统
国内的文件管理系统,包括有:
开始文档管理系统: 系统支持对文件存储和传输过程进行加密 文档的上传验证、修改审核、发布审批、文件借阅、权限申请等文档工作流 支持多种类型文件的在线预览(如AutoCAD,Solidworks, ProE等) 文档的签入/签出,防止串改文件 严谨的版本管理,文件修改后有历史版本可查询及管理 异地之间的大型文档的稳定与安全传输 订阅文件,随时随地了解关心文件的动态 快速索引和检索海量数据,支持全文搜索 完整的日志跟踪,记录系统中所有用户在系统内的所有动作 HOLA文档管理系统: 系统支持移动客户端APP访问,以及跨浏览器访问 用户电脑文档与服务器文档自动同步,自动上载文档 多层级的文档安全保护,权限分配,权限校验 文档链接发送,设置密码、有效期,实现文档的安全共享 文档签入/签出,版本控制 在线阅读器:在线浏览任意文档格式(如二维三维图纸),批注、测量 多种检索方式:文档内容检索、标签索引卡检索 文档审批流程、借阅流程 分布部署、集群部署,无限扩展的海量数据管理 edoc2文档管理系统: 文档集中式存储管理,并提供文档加密和严格的安全防护 文档的迁入/迁出,版本控制和管理 文档的流程管理与审核 超过对450 种不同文档的在线预览与批注(如AutoCAD,Solidworks, ProE等) 异地之间的大型文档的稳定与安全传输 可以自定义元数据,相关文档可自动关联 快速索引和检索海量数据,支持全文搜索 完整的审计体制,可跟踪并记录每个用户在系统内的所有动作 致得E6协同文档管理系统,将文档管理、纸质文档管理、多媒体管理、图文档管理、安全加密、协同办公等各种应用与管理全面整合,各功能间紧密关联,全程无缝管理。
TeamDoc文件管理系统基于C/S架构,可以做到文档的精细化权限控制,做到文件可阅读但不能拷贝,不能另存和打印、不能截屏,从而实现了文件加密集中储存管理,防泄密、防拷贝。为企业提供文档集中管理与安全共享解决方案。
HOLA企业内容管理系统,可以实现标准企业级的文档管理功能,还提供超过200种格式的文档与图纸的阅读与红线标注、纸质文档的电子化、文档相关的日期提醒与任务管理、以及在海量数据中快速查询功能。
易度文件管理系统,edodocs .com,帮助企业解决文档的存储、安全管理、查找、在线查看、协作编写及文档发布控制等问题。
目前国外的文件管理系统,包括有:
DocMgr,使用的是postgresql数据库
KnowledgeTree Document Management,除了开源的版本,还有商业版本可用
MyDMS
owl
Logicaldoc,是一个具有Lucene全文搜索索引、jBPM工作流程、以及一套自动导入程序的内容储存库,使用Java技术开发。 LogicalDOC是一种针对Microsoft Windows和Unix-like操作系统的文档管理系统。 LogicalDOC面向那些需要高度模块化和可扩展性的用户。 LogicalDOC提供了一种WebDAV接口,它可以在Microsoft Windows和Unix-like操作系统上提供兼容性支持。
OpenKM,与Logicaldoc一样的Java开源项目,基于Jboss+J2EE+Ajax web (GWT)+Jackrabbit (lucene)等技术开发。
其他flickr、yupoo等在线图片管理网站,只能管理图片,不能管理其他类型的文件。







