<commit_before>---
layout: post
title: Why NoSQL
comments: true
categories: [java]
tags: [tool]
description: Not Only SQL .
---

{{ page.title }}
================

<hr />

<H3>非关系型、分布式数据存储得到了快速的发展，它们不保证关系数据的ACID特性。  


NoSQL被我们用得最多的当数key-value存储，当然还有其他的文档型的、列存储、图型数据库、xml数据库等。

</H3>  



<H2>* Memcached+MySQL</H2>

使用缓存技术来缓解数据库的压力，优化数据库的结构和索引。开始比较流行的是通过文件缓存来缓解数据库压力，但是当访问量继续增大的时候，多台web机器通过文件缓存不能共享，大量的小文件缓存也带了了比较高的IO压力。  

在这个时候，<H4>Memcached</H4> 就自然的成为一个非常时尚的技术产品。

Memcached作为一个独立的分布式的缓存服务器，为多个web服务器提供了一个共享的高性能缓存服务，在Memcached服务器上，又发展了根据hash算法来进行多台Memcached缓存服务的扩展，  

然后又出现了一致性hash来解决增加或减少缓存服务器导致重新hash带来的大量缓存失效的弊端。

<H2>* Mysql主从读写分离</H2>

由于数据库的写入压力增加，Memcached只能缓解数据库的读取压力。  

读写集中在一个数据库上让数据库不堪重负，大部分网站开始使用主从复制技术来达到读写分离，以提高读写性能和读库的可扩展性。  

Mysql的master-slave模式成为网站标配。<commit_msg>nosql<commit_after>---
layout: post
title: Why NoSQL
comments: true
categories: [database]
tags: [tool]
---

<H2>Not Only SQL</H2>

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

<hr />

<H3>非关系型、分布式数据存储得到了快速的发展，它们不保证关系数据的ACID特性。  


NoSQL被我们用得最多的当数key-value存储，当然还有其他的文档型的、列存储、图型数据库、xml数据库等。

</H3>  



<H2>* Memcached+MySQL</H2>

使用缓存技术来缓解数据库的压力，优化数据库的结构和索引。开始比较流行的是通过文件缓存来缓解数据库压力，但是当访问量继续增大的时候，多台web机器通过文件缓存不能共享，大量的小文件缓存也带了了比较高的IO压力。  

在这个时候，<H4>Memcached</H4> 就自然的成为一个非常时尚的技术产品。

Memcached作为一个独立的分布式的缓存服务器，为多个web服务器提供了一个共享的高性能缓存服务，在Memcached服务器上，又发展了根据hash算法来进行多台Memcached缓存服务的扩展，  

然后又出现了一致性hash来解决增加或减少缓存服务器导致重新hash带来的大量缓存失效的弊端。

<H2>* Mysql主从读写分离</H2>

由于数据库的写入压力增加，Memcached只能缓解数据库的读取压力。  

读写集中在一个数据库上让数据库不堪重负，大部分网站开始使用主从复制技术来达到读写分离，以提高读写性能和读库的可扩展性。  

Mysql的master-slave模式成为网站标配。
{'fraction_non_alphanumeric': 0.12258064516129032, 'fraction_numerical': 0.011612903225806452, 'mean_word_length': 8.69375, 'pattern_counts': {'":': 0, '<': 23, '<?xml version=': 0, '>': 23, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 2}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5976604', 'n_tokens_mistral': 1114, 'n_tokens_neox': 1307, 'n_words': 63}