ruby-on-rails - Cassandra 제작은 Ruby on Rails를 위해 준비 되었습니까?




ruby-on-rails-plugins gem (5)

나는 Cassandra를 데이터베이스로 사용할 것을 고려중인 프로젝트에서 일하고 있습니다. MySQL을 시작으로 확장 성을 고려해도 결국 카산드라로 마이그레이션하고 싶습니다. Facebook, Digg 및 최근 트위터 같은 대기업은 Cassandra를 사용하고 있지만이 사이트 중 일부는 Rails에서 실행되지 않는다고 생각합니다. 제 질문은 카산드라를 Ruby on Rails를 사용하여 사용하는 것이 가능한지의 여부입니다. 고려해야 할 점 :

  1. 우리는 Authlogic gem에 크게 의존합니다. 카산드라로 전환하는 것이 작동 방식에 영향을 줍니까?
  2. 카산드라를위한 성숙한 루비 클라이언트가 있습니까? Github를 보면 동물 군의 클라이언트 (현재 twitters의 클라이언트) 가 가장 성숙한 것으로 보입니다. 누구도 그걸 가지고 생산 경험을 쌓았습니까?

어떤 조언을 감사드립니다.


Answers

IIANM이 동물 군 고객의 위에 구축 한 http://github.com/NZKoz/cassandra_object 도 있습니다. "Cassandra Object는 Cassandra와 작업하기에 좋은 API를 제공합니다 .CassandraObjects는 ActiveRecord 객체와 호환되는 대부분의 오리 유형이므로 대부분의 컨트롤러 코드는 정상적으로 작동해야합니다 ... 개발에 도움이 될 경우에만 프로덕션 환경에서 사용하십시오 지금 거친 가장자리가 잔뜩있다. "


트위터는 대부분의 프론트 엔드에서 레일을 돌리고 있습니다. Fauna의 고객은 실제로 트위터에 의해 만들어지고 출시되므로 큰 워크로드에서 최신이고 안정적이라는 것을 확신 할 수 있습니다. 커밋의 역사를 살펴보면 자주 개선되는 부분이 많다는 것을 알 수 있습니다.

대부분의 Authlogic은 카산드라와 제대로 작동하도록 사용자 정의해야합니다. 특히 named_scope 및 관계형 데이터를 기반으로하는 특정 메소드를 제공하는 것으로 보입니다.

Authlogic : http://twitter.com/collintmiller/statuses/2064046718 에서 DataMapper 지원을위한 플러그인을 작성한 것으로 보입니다. Cassandra와의 호환을위한 출발점으로 사용할 수 있습니다.

행운을 빕니다!


나는 MySQL로 시작한 다음 Cassandra로 옮기는 것이 좋은 생각이라고 생각하지 않습니다.

Cassandra는 NoSQL 솔루션이며, MySQL은 "고전적인"SQL 기반 데이터베이스입니다.

즉, 모델이 다를 수 있습니다.

MySQL로 시작한다면 ActiveRecord를 사용하여 모델을 만들어야합니다. 그런 다음 Cassandra로 변경하면 모든 모델을 NoSQL 호환 미들웨어 (예 : BigRecord )로 변경해야합니다. 이는 모델을 변경하는 것뿐만 아니라 모델을 사용하는 컨트롤러 (인터페이스가 다르기 때문에)를 변경하는 것을 의미합니다.

이것은 카산드라 (Cassandra) 등이 트위터와 같이 까다로운 애플리케이션에 사용될 것으로 예상됩니다.

밖에있는 웹 애플리케이션의 나머지 부분은 덜 강렬한 주문입니다. 여전히 카산드라가 필요할 것이라고 확신합니까?

PostgreSQL과 잘 설계된 데이터베이스는 98 %에 불과합니다.


지금 Cassandra, MongoDB 및 CouchDB를 연구 중입니다.

가장 개발자가 지원하는 개발자를 파악하는 한 가지 방법은 각각에 대해 가장 높은 등급의 github 프로젝트에있는 전문가의 수를 확인하는 것입니다. 최소한 대략적인 견적으로.

지금은

852 - MongoDB http://github.com/jnunemaker/mongomapper

544 - CouchDB http://github.com/jchris/couchrest

178 - 카산드라 http://github.com/fauna/cassandra

최근 Cassandra로 옮기고 있다고 발표 한 많은 유명 사이트 (Twitter, Digg, Reddit 등)에 대해 이야기 해야겠다.

Mongo는 지금까지 가장 잘 문서화 된 문서를 보유하고있는 것으로 보입니다. 그들의 자동차 샤딩은 여전히 ​​알파에 있지만 그래도 그것이 얼마나 비늘 롭다 고 생각할 지 아직까지 남아 있습니다.

나는이 모든 것에 대해 배우기 시작했습니다. 다른 사람들이 통찰력을 가지고 있다면 공유하십시오.


  • 그게 전부 nil? blank?
  • 모든게 empty? blank?
  • 아무것도 empty? nil?
  • 아무것도 nil? empty?

tl; dr - blank? 만 사용 blank? & present? """ " 을 구별하지 않으려면





ruby-on-rails ruby-on-rails-plugins cassandra gem