Advanced Search
Search Results
343 total results found
Hướng dẫn tạo Spark Scala Maven project trong Intellij
1. Tạo Scala project trong Intellij Click New Project - Chọn Maven -> Create from archetype -> org.scala-tools.archetypes:scala-archetypes-simple - Màn hình tiếp theo, nhập tên project, ví dụ: spark-hello-world-example - Màn hình tiếp theo, nhập th...
Mô hình dữ liệu trong Cassandra
Mô hình dữ liệu Cassandra tuân theo quy tắc hệ thống cột (column family): Column family: là một đối tượng của NoSQL nơi chứa các cột dữ liệu. Nó là một tập hợp dữ liệu chứa các cặp “khóa – giá trị”. Trong đó “khóa” được ánh xạ đến một giá trị gồm tập hợp các...
Quản lý và truy xuất dữ liệu trong Cassandra
1. Ghi dữ liệu trong Cassandra Cassandra được tối ưu để việc ghi dữ liệu luôn có sự sẵn sàng cao và nhanh chóng. Trong khi đó, RDBMS có cấu trúc sao cho dữ liệu dư thừa là ít nhất, thông tin cần cho câu truy vấn được lưu trữ ở nhiều bảng có quan hệ với nhau. ...
Replication dữ liệu trong Cassandra
Để đảm bảo tính sẵn sàng và liên tục trong Cassandra, mỗi đối tượng dữ liệu có thể được nhân bản và lưu giữ trên nhiều máy chủ. Nếu một trong các máy chủ lưu một phiên bản dữ liệu bị lỗi hoặc là phiên bản cũ, không phải là phiên bản được cập nhật dữ liệu mới n...
Partitioning trong Cassandra
Partitioning là việc bạn quyết định việc dữ liệu được phân tán như thế nào trên các node trong cluster (bao gồm cả các bản sao). Trong Cassandra, dữ liệu được quản lý bởi một cluster được đại diện như một không gian dữ liệu hay một ring. Vòng tròn (ring) đượ...
Virtual node - Node ảo trong Cassandra
Để giải quyết vấn đề tái cân bằng lại cụm, Cassandra đề ra một giải pháp đó là sử dụng node ảo. Node ảo giống như một thành phần của vòng tròn trong hệ thống, nhưng bản chất node ảo chỉ là ánh xạ của một node vật lý đến một địa chỉ khác trong vòng. Khi dữ liệu...
Snitch trong Cassandra
Snitch là protocol sử dụng để mapping IP với Racks và Datacenter, áp dụng các snitches khác nhau thì dữ liệu sẽ được lưu trữ tại các điểm khác nhau trên cluster, snitches giúp ta thiết kế sơ đồ để lưu trữ dữ liệu (sơ đồ mạng máy tính). Tất cả các nodes trong ...
Phân tán dữ liệu trong Cassandra
Cassandra sử dụng cơ chế hàm băm nhất quán phân tán (Distributed consistent hashing) để tổ chức các node máy chủ thành cụm theo định dạng vòng tròn và dữ liệu được phân tán theo vòng tròn này theo hàm băm nhất quán. Mỗi vòng tròn được coi là một Datacenter. C...
Giao thức Gossip trong Cassandra
Mỗi khi cụm Cassandra bổ sung hoặc loại bỏ một node ra khỏi cụm, dữ liệu trong cụm sẽ phải được phân bố lại. Khi bổ sung một node, node đó sẽ lấy đi 1 phần dữ liệu của các node, khi một node bị loại khỏi cụm, dữ liệu của node đó sẽ phải được lưu trữ đều trên c...
Kiến trúc Cassandra
Thiết kế của Cassandra là thiết kế phân tán dựa trên kiến trúc mạng ngang hàng (Peer - to - Peer) tất cả các node máy chủ trong hệ thống đều có vai trò như nhau và không có node máy chủ nào đóng vai trò là máy chủ trung tâm (master), giảm thiểu sự cố của máy c...
Java StringTokenizer class - Lớp StringTokenizer trong Java
Lớp StringTokenizer được sử dụng để tách một chuỗi thành các phần tử token của nó. Package: java.util Ví dụ: Mỗi từ trong một câu có thể coi như là một token. Lớp StringTokenizer có thể chỉ định một bộ dấu phân tách token. Dấu phân cách (khoảng trắn...
Giới thiệu Apache Cassandra
Apache Cassandra là cơ sở dữ liệu dạng cột (column family) được phát triển bởi Facebook trong năm 2008, sau khi trở thành sản phẩm của Facebook trong một thời gian ngắn, Cassandra trở thành dự án open source tại Google code vào tháng 7 năm 2008. Tháng 3 năm 20...
Python Tuple - Tuple trong Python
Python Tuple cũng là một cấu trúc mảng, tương tự như cấu trúc List. Một số điểm khác nhau cơ bản là khai báo Tuple sửdụng cặp dấu ngoặc (...) và một tuple đã được khai báo rồi thì không thay đổi được giá trị (immutable) và không hỗtrợ các phương thức như appen...
Python List - Kiểu List trong Python
List trong Python là cấu trúc mảng và các phần tử có index có thứ tự. Không như PHP, key của một mảng có thể vừalà số, vừa là chuỗi (associated array). Trong Python, muốn tạo một mảng có key là chuỗi thì sẽ sử dụng cấu trúc Dictionary (phần tiếp). Trong phầnn...
Switch trong Go
Lệnh switch Giả sử chúng ta muốn in các chữ số bằng chữ, chúng ta có thể viết đoạn code như sau: if.go if i == 0 { fmt.Println("Khong") } else if i == 1 { fmt.Println("Mot") } else if i == 2 { fmt.Println("Hai") } else if i == 3 { fmt...
If Else trong Go
Lệnh if Chúng ta sẽ thực hiện in các con số từ 1 đến 10 và cho biết số đó là chẵn hay lẻ. Để làm điều này thì chúng ta sẽ cần dùng đến câu lệnh if. Ví dụ: if.go package main import "fmt" func main() { for i := 1; i <= 10 ; i++ { if...
Thuật toán quay lui
1. Khái niệm Thuật toán quay lui dùng để giải bài toán liệt kê các cấu hình. Mỗi cấu hình được xây dựng bằng cách xây dựng từng phần tử, mỗi phần tử được chọn bằng cách thử tất cả các khả năng. 2. Phương pháp thực hiện Giả thiết cấu hình cần liệt kê có dạ...
Spark - SparkSession
Spark session: Đại diện cho khả năng tương tác với executors trong 1 chương trình. Spark session chính là entry point của mọi chương trình Spark. Từ SparkSession, có thể tạo RDD/ DataFrame/ DataSet, thực thi SQL… từ đó thực thi tính toán phân tán. Spark Ses...
Java this keyword - Biến this trong Java
Biến this là một biến ẩn tồn tại trong tất cả các lớp trong ngông ngữ java. Một class trong Java luôn tồn tại một biến this, biến this được sử dụng trong khi chạy và tham khảo đến bản thân lớp chứa nó. Ví dụ: < tiền tố > class A { < tiề...
So sánh và đánh giá Cassandra và HBase
Cassandra và HBase là cơ sở dữ liệu phổ biến thuộc loại Column family. 1. Giống nhau # Thành phần Nội dung 1 Database Cả Cassandra và HBase đều là CSDL mã nguồn mở thuộc NoSQL. Có thể lưu trữ và xử lý lượng lớn dữ liệu ba...