Skip to content

Commit ad28f6c

Browse files
committed
adding a bunch of new cassandra resources
1 parent 07799b6 commit ad28f6c

File tree

2 files changed

+47
-12
lines changed

2 files changed

+47
-12
lines changed

content/pages/03-data/13-apache-cassandra.markdown

Lines changed: 46 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ data store occasionally used for persisting data in
1313
[Python web applications](/web-development.html) and
1414
[data projects](/data.html).
1515

16-
<a href="http://cassandra.apache.org/" style="border: none;"><img src="/img/logos/cassandra.png" width="100%" alt="Apache Cassandra project logo." class="technical-diagram" /></a>
16+
<a href="http://cassandra.apache.org/" style="border: none;"><img src="/img/logos/cassandra.png" width="100%" alt="Apache Cassandra project logo." class="shot" /></a>
1717

1818
<div class="well see-also">Apache Cassandra is an implementation of the <a href="/no-sql-datastore.html">NoSQL database</a> concept. Learn more in the <a href="/data.html">data</a> chapter or view the <a href="/table-of-contents.html">table of contents</a> for all topics.</div>
1919

@@ -40,6 +40,34 @@ data store occasionally used for persisting data in
4040
the HTTP request-response cycle to prevent timeouts and blocking issues with
4141
[WSGI servers](/wsgi-servers.html).
4242

43+
* The Stack Overflow thread asking about the
44+
[best Cassandra library/driver for Python?](https://stackoverflow.com/questions/10430417/best-cassandra-library-wrapper-for-python)
45+
has a good answer on why to use the
46+
[datastacks/python-driver](https://github.com/datastax/python-driver)
47+
project due to its CQL support and active development.
48+
49+
## How Companies Use Cassandra
50+
These resources are written by engineering teams at organizations that
51+
have large scale Cassandra deployments. The posts cover topics such as
52+
monitoring, scaling and usage with billions of records.
53+
54+
* [How Discord Stores Billions of Messages](https://blog.discordapp.com/how-discord-stores-billions-of-messages-7fa6ec7ee4c7)
55+
talks about the evolution of Discord's very large scale message store
56+
system from a [MongoDB](/mongodb.html) instance to Cassandra for storing
57+
messages in a distributed, replicated cluster.
58+
59+
* [Monitoring Cassandra at Scale](http://engineeringblog.yelp.com/2016/06/monitoring-cassandra-at-scale.html)
60+
explains how the Yelp engineering team uses Cassandra to complement their
61+
MySQL and ElasticSearch instances. The post does a nice job of enumerating
62+
the warning signs to monitor and provides a short example of an issue with
63+
replication that could be caught by their approach.
64+
65+
* [How Uber Manages A Million Writes Per Second Using Mesos And Cassandra Across Multiple Datacenters ](http://highscalability.com/blog/2016/9/28/how-uber-manages-a-million-writes-per-second-using-mesos-and.html)
66+
shows why Uber needs accurate real-time data at large scale to make their
67+
driver and passenger operations run properly. The post goes into the
68+
overall architecture they use including cluster size, tolerable latency
69+
and other libraries in their stack.
70+
4371

4472
## General Cassandra resources
4573
Apache Cassandra can be used independently of Python applications for
@@ -53,18 +81,12 @@ resulting tools as open source projects.
5381
[getting started documentation for Cassandra](http://cassandra.apache.org/doc/latest/getting_started/index.html)
5482
provides installation, configuration, and basic querying information.
5583

56-
* [Monitoring Cassandra at Scale](http://engineeringblog.yelp.com/2016/06/monitoring-cassandra-at-scale.html)
57-
explains how the Yelp engineering team uses Cassandra to complement their
58-
MySQL and ElasticSearch instances. The post does a nice job of enumerating
59-
the warning signs to monitor and provides a short example of an issue with
60-
replication that could be caught by their approach.
61-
6284
* [How Not To Use Cassandra Like An RDBMS (and what will happen if you do)](https://opencredo.com/how-not-to-use-cassandra-like-an-rdbms-and-what-will-happen-if-you-do/)
6385
gives examples in Cassandra's query language CQL of operations that are
6486
typical with [relational databases](/databases.html) but go *terribly* wrong
6587
with Cassandra, due to its NoSQL architecture that is optimized for other
6688
types of operations.
67-
89+
6890
* [Backup and Recovery for Apache Cassandra and Scale-Out Databases](https://www.youtube.com/watch?v=krGmn4D2fgY)
6991
covers issues encountered when trying to take snapshot backups of Cassandra
7092
due to partitions and consistency lag time that occur with just about every
@@ -74,7 +96,19 @@ resulting tools as open source projects.
7496
is a video for on data modeling and application development for developers
7597
new to Cassandra.
7698

77-
* [How Discord Stores Billions of Messages](https://blog.discordapp.com/how-discord-stores-billions-of-messages-7fa6ec7ee4c7)
78-
talks about the evolution of Discord's very large scale message store
79-
system from a [MongoDB](/mongodb.html) instance to Cassandra for storing
80-
messages in a distributed, replicated cluster.
99+
* [The Total Newbie’s Guide to Cassandra](https://blog.insightdatascience.com/the-total-newbies-guide-to-cassandra-e63bce0316a4)
100+
compares Cassandra to traditional [relational databases](/databases.html).
101+
102+
* [On Cassandra Collections, Updates, and Tombstones](https://www.sestevez.com/on-cassandra-collections-updates-and-tombstones/)
103+
presents a mistake of using collections in the wrong way that developers
104+
often make when using Cassandra for the first time.
105+
106+
* [When to use Cassandra and when to steer clear](https://towardsdatascience.com/when-to-use-cassandra-and-when-to-steer-clear-72b7f2cede76)
107+
explains the advantages Cassandra provides such as high throughput on
108+
writes (versus reads) and availability. The disadvantages are also
109+
given such as strong consistency, typical relational database-style
110+
(ACID) transactions and reads without knowing the primary key of the
111+
record you want to access. These are common database tradeoffs you need
112+
to understand based on your workload and decide upon *before* you build
113+
out your whole data architecture!
114+

content/pages/04-web-development/58-csrf.markdown

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ meta: Cross-Site Request Forgery is a type of web app vulnerability that forces
88

99

1010
# Cross-Site Request Forgery (CSRF)
11+
Cross-Site Request Forgery is a type of web app vulnerability that forces users to execute unwanted actions when authenticated to an application.
1112

1213

1314
### Cross-Site Request Forgery (CSRF) resources

0 commit comments

Comments
 (0)