All the schema operations that can be done in c* are done without downtime. You should limit these actions as a best practice to 1 client (not multiple concurrent clients) to avoid schema disagreement problems.
The schema changes that are allowed are as follows (and documented here):
cqlsh> help
CQL help topics:
================
ALTER CREATE_TABLE_OPTIONS SELECT
ALTER_ADD CREATE_TABLE_TYPES SELECT_COLUMNFAMILY
ALTER_ALTER CREATE_USER SELECT_EXPR
ALTER_DROP DELETE SELECT_LIMIT
ALTER_RENAME DELETE_COLUMNS SELECT_TABLE
ALTER_USER DELETE_USING SELECT_WHERE
ALTER_WITH DELETE_WHERE TEXT_OUTPUT
APPLY DROP TIMESTAMP_INPUT
ASCII_OUTPUT DROP_COLUMNFAMILY TIMESTAMP_OUTPUT
BEGIN DROP_INDEX TRUNCATE
BLOB_INPUT DROP_KEYSPACE TYPES
BOOLEAN_INPUT DROP_TABLE UPDATE
COMPOUND_PRIMARY_KEYS DROP_USER UPDATE_COUNTERS
CREATE GRANT UPDATE_SET
CREATE_COLUMNFAMILY INSERT UPDATE_USING
CREATE_COLUMNFAMILY_OPTIONS LIST UPDATE_WHERE
CREATE_COLUMNFAMILY_TYPES LIST_PERMISSIONS USE
CREATE_INDEX LIST_USERS UUID_INPUT
CREATE_KEYSPACE PERMISSIONS
CREATE_TABLE REVOKE
For regular columns and partition keys:
Compatible data types are as follows ( <--> denotes both way compatibility ; --> denotes one way compatibility)):
int --> varint
varchar <--> text
int --> blob
text --> blob
ascii --> blob
double -->blob
int --> blob
timeuuid --> blob
varchar --> blob
bigint --> blob
boolean --> blob
decimal --> blob
float --> blob
inet --> blob
ltimestamp --> blob
uuid --> blob
varint --> blob
timeuuid --> uuid
For clustering columns:
int --> varint
varchar <--> text
The reason clustering columns are different is because they must also be order-compatible (clustering columns mandate the order in which we lay out data on disk, hence the stricter requirement).
As you can see, for the most part, CQL3 is relatively strict when it comes to type changes and you want to make sure you pick the right types at design time. You can always create and delete columns if you need to chage due to some unforseen circumstances. We do have tools in DSE Analytics to help with these operational changes when needed.