首页 > 解决方案 > 需要您在 NoSQL 数据库方面的经验

问题描述

对于我在 noSQL 数据库中的考试,我必须将 HTTP 日志文件存储到数据库中。我的教授给我的例子是在 MongoDB 中,所以我必须使用另一个 DBMS。我想过使用 Cassandra 和这样的表:

CREATE TABLE ApacheRecord (
IP text,
ident text,
http_user text,
time text PRIMARY KEY,
http_method text,
url text,
http_response_code text,
http_response_size text,
referred text,
user_agent text)
WITH compaction = {  'class' : 'SizeTieredCompactionStrategy', 'min_threshold' : '5', 'max_threshold' : '31' }
AND caching = {'keys':'ALL'}
AND speculative_retry = '99PERCENTILE'
AND gc_grace_seconds = '0';

现在,我想问你这是否是个好主意,以及是否有一个 JAVA 解析器可以分析类似字符串"192.168.4.25 - - [22/Dec/2016:16:30:52 +0300] "POST /administrator/index.php HTTP/1.1" 303 382 "http://192.168.4.161/DVWA" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.21 (KHTML, like Gecko) Chrome/41.0.2228.0 Safari/537.21""并返回类似“IP”、“url”等的子字符串。

PS:我尝试使用hBase,但无法启动shell

希望社区中的某个人可以帮助我,因为我不知道我是否走在正确的道路上,那是我的最后一次考试。

最后,我希望你在这个特殊时期一切都好:)

标签: javamongodbnosqlcassandra-3.0

解决方案


推荐阅读