Q:

Can I have a keyspace in Cassandra whose name starts with a number?

So I read https://www.datastax.com/documentation/cql/3.0/cql/cql_reference/create_keyspace_r.html, where it says "Keyspace names are 32 or fewer alpha-numeric characters and underscores, the first of which is an alpha character.". And yet if I open up cqlsh with Cassandra 2.1.2 and do this: 
cqlsh> create keyspace "123abc" with replication = {'class': 'SimpleStrategy', 'replication_factor': 1};

then it creates the keyspace no problem and I can insert and query data no problem. Is the documentation lying to me?

A:

No, the documentation isn't lying to you.  When I try to create a keyspace with the name 123abc, I get an error:
create keyspace 123abc with replication = 
{'class': 'NetworkTopologyStrategy', 'PloetzLabs': '1'};

SyntaxException: ErrorMessage code=2000 [Syntax error in CQL query] 
    message="line 1:28 missing K_WITH at 'replication' 
    (create keyspace 123abc with [replication] =...)"

On the other hand, when I encapsulate the keyspace name in double quotes (like you did), it works.  But when I describe my keyspaces, this is what I see now:
aploetz@cqlsh> desc keyspaces;

system_traces  system  "123abc"  stackoverflow

Things get interesting when I try to use that keyspace:
aploetz@cqlsh> use 123abc;

Improper use command.

aploetz@cqlsh> use "123abc" ;
aploetz@cqlsh:123abc> SELECT * FROM 123abc.test1 ;

SyntaxException: <ErrorMessage code=2000 [Syntax error in CQL query] 
    message="line 1:20 mismatched character '.' expecting set null">

aploetz@cqlsh:123abc> SELECT * FROM "123abc".test1 ;

 id  | value
-----+-------
 id1 |  val1

(1 rows)

The quotes do not show in the cqlsh prompt, but now you'll need them whenever you interact with that keyspace going forward.
So technically, the first character in the keyspace name isn't a number, it is a double quote.  So maybe the doc is lying in some respect (LOL) and should read as:

...the first of which is an alpha character, unless enclosed in double quotation marks.

