如何学习服务器知识 该如何学习数据库方面的知识?

[更新]
·
·
分类:互联网
2172 阅读

如何学习服务器知识

该如何学习数据库方面的知识?

该如何学习数据库方面的知识?

一般以SQL Server作为入门的学科,它适合中小型项目开发
现在比较流行于大型开发的有:Oracle、MySql、Access(桌面数据库)等
目前市场上主要有以下NoSQL数据库:
MongoDB、HBase、Redis、Cassandra、Neo4J、Riak、Memcached、Amazon’s Dynamo、Project Voldemort、CouchDB、RavenDB、Infinite Graph、OrientDB等。
刚开始入门的时候可以找点视频教程来学习,视频教程一般讲得比较好,但不要企图于通过它达到比较高的水平。然后要学会将自己所知道的去实践,多实践。
加米谷大数据培训,6月大数据开发0基础班、提高班,即将开课!
相关:大数据相关数据库技术概览

建议从学习SQL Server 开始,以其为学习对象,选定一本教程或网络教程。
SQL Server有可视化界面,容易理解,同时支持SQL语句操作,对掌握SQL语句应用事半功倍。目前很多中小型企业应用都使用SQL Server作为数据库后台,需求是比较广的。
1、先在电脑上面安装SQL Server 2017
2、对接教程按章节学习,按教程里面的练习进行实际操作
3、做好重点案例实现步骤的记录,分类总结
掌握好SQL Server 后,自然MYSQL也比较好上手了。

初学服务器知识,该选择什么书籍?

windows平台可以看看《Windows Server 2003服务器架设与管理》。
作为推荐,这里我主要还是推荐自己仔细研读过的书,而我读过的书中某些可能已经很老了,甚至内容已经过时了,因此,这只算是抛砖引玉,大家可以选择类似的更新、更权威的书籍学习。
基础知识主要包括:语言。这里之所以拿出来说,是因为某些语言可能导致你使用完全不同的思路来设计服务器。一般来说,C/C 、Java、C# 之类可以归为一类,而 Go、Erlang 和他们区别很显著。关于语言的经典书籍太多,这里就不说了。
网络。想了解协议底层实现,可以看《TCP/IP 详解 卷2》。上层开发时,Windows 下可以看《Network Programming for Microsoft Windows》,Linux 下可以直接看看官方相关的 API 文档。Windows 下 IOCP,Linux 下 epoll(其他类 Unix 下的技术类似)是需要掌握的。实际开发中,网络库可能自己实现,也可以基于某些开源库开发,所以,无论是出于学习还是使用目的,都可以研究一下开源库,例如 libuv、libevent、boost ASIO。
操作系统相关。类 Unix 系统比较好的书籍就是《Advanced Programming in the UNIX Environment》了,Windows 下则可以看看《Windows核心编程》。系统相关的最核心的东西可能就是线程、进程,以及相关同步的内容了,看看《Multithreading applications in Win32》挺不错(包括类 Unix 系统下的开发者)
数据库。主要看你选择 SQL 还是 NOSQL。基本上搞搞 mysql、redis 不会错。
一些思想。光会各种技术是不能写出好的代码的,可能还需要学习一些更抽象的知识,所谓的一些”哲学“或者开发的指导思想。比较推荐的是《UNIX 编程艺术》,还有一本书《精益思想》,这本书和编程完全无直接关系。
《网络游戏核心技术与实战》日本人写的网络游戏服务器端开发的书, 结合游戏开发讲到了服务器端的方方面面, 但是相对的可能不够深入. 适合入门, 对游戏和技术有更好的理解. 然后就可以针对特定的技术领域, 比如网络, 数据存储等找专门的书来看了. 单纯从技术角度而言, 基础的东西并没有太多的不同. 只是网络游戏服务器端的应用领域相对狭窄, 所以市面上专门的书籍并不多。