nosql/nodejs基础

nosql定义:

nosql--no only sql

目前流行的非关系型数据库:

mongodb,redis,cassandra

非关系型数据库和内存存储hashmap数据结构有什么区别?

hashmap存储的数据有限。

相对于关系型数据库的优势:

1、存储结构为json对象,表的设计方便扩展

2、大数据的处理有优势。

======================================================

node.js

-chrome's javascript runtime

-event driven

-non blocking

-server side javascript

内核80%由c和c++编写,所以速度非常快。

-single thread 这个线程的作用就是event loop

-module system

-cross platform / free / open source

-技术细节:nodejs是异步编程,会有很多function级联,造成代码丑陋。

promise的方式解决了这个问题。

-commonJs module

-npm 类似于java的maven

-常用模块:fs,http,events,express,request,underscore,async,express,hapi

-IDE webstrom/node-inspector

==================================================================

-什么时候使用nodejs?

1、IO使用频繁

2、social apps

3、proxy server

4、CLI tools,类似于ant,因为有较多的fs支持

5、log

6、webSocket

-什么时候别用?

1、计算量大

2、服务器要用很多关系数据库

3、用户code要计算很长时间

4、团队成员不适合异步编程