From 60c3a1a042d2338d49e43dd0ef8a29a07f06f4b6 Mon Sep 17 00:00:00 2001 From: Anthony Yeh Date: Tue, 31 May 2016 12:22:27 -0700 Subject: [PATCH] Clean up memcached dependencies. These are no longer needed after #1742. --- .travis.yml | 1 - doc/GettingStarted.md | 5 ++--- doc/Reparenting.md | 1 - doc/V3HighLevelDesign.md | 2 +- doc/Vision.md | 7 +++---- doc/VitessOverview.md | 3 +-- docker/bootstrap/Dockerfile.common | 1 - docker/lite/Dockerfile | 1 - docker/lite/Dockerfile.mariadb | 1 - docker/lite/Dockerfile.mysql56 | 1 - docker/lite/Dockerfile.percona | 2 +- .../kubernetes/vttablet-pod-benchmarking-template.yaml | 2 +- examples/local/vttablet-up.sh | 7 ------- 13 files changed, 9 insertions(+), 25 deletions(-) diff --git a/.travis.yml b/.travis.yml index 234fb8b9a48..289fdad917b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,6 @@ addons: # NOTE: When you add a dependency, don't forget to add comment why it's necessary. - automake - libtool - - memcached - php5-cli - php5-dev - python-dev diff --git a/doc/GettingStarted.md b/doc/GettingStarted.md index 87571378280..f8ac73b55e7 100644 --- a/doc/GettingStarted.md +++ b/doc/GettingStarted.md @@ -100,7 +100,6 @@ In addition, Vitess requires the software and libraries listed below. - make - automake - libtool - - memcached - python-dev - python-virtualenv - python-mysqldb @@ -116,7 +115,7 @@ In addition, Vitess requires the software and libraries listed below. These can be installed with the following apt-get command: ``` sh - $ sudo apt-get install make automake libtool memcached python-dev python-virtualenv python-mysqldb libssl-dev g++ mercurial git pkg-config bison curl unzip + $ sudo apt-get install make automake libtool python-dev python-virtualenv python-mysqldb libssl-dev g++ mercurial git pkg-config bison curl unzip ``` 5. If you decided to use ZooKeeper in step 3, you also need to install a @@ -152,7 +151,7 @@ In addition, Vitess requires the software and libraries listed below. 5. Run the following commands: ``` sh - brew install go automake libtool memcached python mercurial git bison curl wget homebrew/versions/mysql56 + brew install go automake libtool python mercurial git bison curl wget homebrew/versions/mysql56 pip install --upgrade pip setuptools pip install virtualenv pip install MySQL-python diff --git a/doc/Reparenting.md b/doc/Reparenting.md index e0c5b07ff59..4105f0c4a66 100644 --- a/doc/Reparenting.md +++ b/doc/Reparenting.md @@ -125,7 +125,6 @@ This command performs the following actions: 1. Promotes the master-elect tablet to be the new master. In addition to changing its tablet type to master, the master-elect performs any other changes that might be required for its new state. - For example, it might need to modify the way its rowcache works. 1. Ensures replication is functioning properly via the following steps: 1. On the master-elect tablet, Vitess inserts an entry in a test table and then updates the MasterAlias record of the global diff --git a/doc/V3HighLevelDesign.md b/doc/V3HighLevelDesign.md index be439d10f1e..53337394fac 100644 --- a/doc/V3HighLevelDesign.md +++ b/doc/V3HighLevelDesign.md @@ -1521,7 +1521,7 @@ Join select :_a_col+b.col from b where b.foo=:_a_bar ``` -*However, such queries are not very efficient for VTTablet. It can’t cache field info, or use rowcache. Such push-downs don’t benefit MySQL either. So, it’s better to wait till VTGate implements the ability to evaluate expressions.* +*However, such queries are not very efficient for VTTablet. It can’t cache field info. Such push-downs don’t benefit MySQL either. So, it’s better to wait till VTGate implements the ability to evaluate expressions.* SELECT can also contain subqueries. The same restriction as WHERE clauses can be applied here: If the keyspace id of the subquery is not the same as the outer query’s, we fail the query. Otherwise, we push it down. diff --git a/doc/Vision.md b/doc/Vision.md index 2d032155323..f33f5eb0e93 100644 --- a/doc/Vision.md +++ b/doc/Vision.md @@ -19,10 +19,9 @@ kind of scalability that NoSQL databases provide. ### Priorities * *Scalability*: This is achieved by replication and sharding. -* *Efficiency*: This is achieved by a proxy server (vttablet) that mediates -all queries and connections. -It also utilizes a more efficient rowcache to short-cut some of the queries. -This effectively increases a typical MySQL's serving capacity. +* *Efficiency*: This is achieved by a proxy server (vttablet) that +multiplexes queries into a fixed-size connection pool, and rewrites +updates by primary key to speed up slave applier threads. * *Manageability*: As soon as you add replication and sharding that span across multiple data centers, the number of servers spirals out of control. Vitess provides a set of tools backed by a lockserver (zookeeper) to diff --git a/doc/VitessOverview.md b/doc/VitessOverview.md index 1099a5db37d..5e367dc315a 100644 --- a/doc/VitessOverview.md +++ b/doc/VitessOverview.md @@ -86,7 +86,6 @@ If you're considering a NoSQL solution primarily because of concerns about the s * Connection pooling - Scale front-end connections while optimizing MySQL performance. * Query de-duping – Reuse results of an in-flight query for any identical requests received while the in-flight query was still executing. * Transaction manager – Limit number of concurrent transactions and manage deadlines to optimize overall throughput. - * Rowcache – Maintain a row-based cache (using memcached) to more efficiently field queries that require random access by primary key, very useful for OLTP workloads. (The MySQL buffer cache is optimized for range scans over indices and tables.). This can replace a custom caching layer implementation at the application layer.

* **Protection** @@ -117,7 +116,7 @@ The Vitess platform consists of a number of server processes, command-line utili Depending on the current state of your application, you could arrive at a full Vitess implementation through a number of different process flows. For example, if you're building a service from scratch, your first step with Vitess would be to define your database topology. However, if you need to scale your existing database, you'd likely start by deploying a connection proxy. -Vitess tools and servers are designed to help you whether you start with a complete fleet of databases or start small and scale over time. For smaller implementations, vttablet features like connection pooling and rowcache help you get more from your existing hardware. Vitess' automation tools then provide additional benefits for larger implementations. +Vitess tools and servers are designed to help you whether you start with a complete fleet of databases or start small and scale over time. For smaller implementations, vttablet features like connection pooling and query rewriting help you get more from your existing hardware. Vitess' automation tools then provide additional benefits for larger implementations. The diagram below illustrates Vitess' components: diff --git a/docker/bootstrap/Dockerfile.common b/docker/bootstrap/Dockerfile.common index 85ffa1f6266..4fed035f3e7 100644 --- a/docker/bootstrap/Dockerfile.common +++ b/docker/bootstrap/Dockerfile.common @@ -11,7 +11,6 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-ins libssl-dev \ libtool \ make \ - memcached \ mercurial \ openjdk-7-jdk \ php-pear \ diff --git a/docker/lite/Dockerfile b/docker/lite/Dockerfile index 8faffa797cb..8f51289f8f1 100644 --- a/docker/lite/Dockerfile +++ b/docker/lite/Dockerfile @@ -8,7 +8,6 @@ RUN apt-key adv --recv-keys --keyserver pgp.mit.edu 5072E1F5 \ && DEBIAN_FRONTEND=noninteractive \ apt-get install -y --no-install-recommends \ bzip2 \ - memcached \ libmysqlclient18 \ mysql-client \ mysql-server \ diff --git a/docker/lite/Dockerfile.mariadb b/docker/lite/Dockerfile.mariadb index 13901e07fb1..b3a2bd75032 100644 --- a/docker/lite/Dockerfile.mariadb +++ b/docker/lite/Dockerfile.mariadb @@ -7,7 +7,6 @@ RUN apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db && apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \ bzip2 \ - memcached \ mariadb-server \ && rm -rf /var/lib/apt/lists/* diff --git a/docker/lite/Dockerfile.mysql56 b/docker/lite/Dockerfile.mysql56 index 516cc3faae6..ebcbcf86859 100644 --- a/docker/lite/Dockerfile.mysql56 +++ b/docker/lite/Dockerfile.mysql56 @@ -8,7 +8,6 @@ RUN apt-key adv --recv-keys --keyserver pgp.mit.edu 5072E1F5 \ && DEBIAN_FRONTEND=noninteractive \ apt-get install -y --no-install-recommends \ bzip2 \ - memcached \ libmysqlclient18 \ mysql-client \ mysql-server \ diff --git a/docker/lite/Dockerfile.percona b/docker/lite/Dockerfile.percona index 32e63f1392e..1bfcdd79b4a 100644 --- a/docker/lite/Dockerfile.percona +++ b/docker/lite/Dockerfile.percona @@ -12,7 +12,7 @@ RUN apt-key adv --keyserver ha.pool.sks-keyservers.net \ } | debconf-set-selections && \ apt-get update && \ apt-get install -y --no-install-recommends \ - percona-server-server-5.6 bzip2 memcached && \ + percona-server-server-5.6 bzip2 && \ rm -rf /var/lib/apt/lists/* # Set up Vitess environment (just enough to run pre-built Go binaries) diff --git a/examples/kubernetes/vttablet-pod-benchmarking-template.yaml b/examples/kubernetes/vttablet-pod-benchmarking-template.yaml index f7d9e29f3a7..4b52a53af51 100644 --- a/examples/kubernetes/vttablet-pod-benchmarking-template.yaml +++ b/examples/kubernetes/vttablet-pod-benchmarking-template.yaml @@ -71,7 +71,7 @@ spec: -queryserver-config-transaction-cap 300 -queryserver-config-schema-reload-time 1 -queryserver-config-pool-size 100 - -enable_replication_reporter + -enable_replication_reporter" vitess env: - name: GOMAXPROCS value: "16" diff --git a/examples/local/vttablet-up.sh b/examples/local/vttablet-up.sh index 48bdbcae695..84decc5c114 100755 --- a/examples/local/vttablet-up.sh +++ b/examples/local/vttablet-up.sh @@ -51,13 +51,6 @@ esac mkdir -p $VTDATAROOT/backups -# Look for memcached. -memcached_path=`which memcached` -if [ -z "$memcached_path" ]; then - echo "Can't find memcached. Please make sure it is available in PATH." - exit 1 -fi - # Start 5 vttablets by default. # Pass a list of UID indices on the command line to override. uids=${@:-'0 1 2 3 4'}