{"id":579718,"date":"2023-12-28T03:11:06","date_gmt":"2023-12-28T03:11:06","guid":{"rendered":"https:\/\/proxyelite.info\/glossary\/cassandra\/"},"modified":"2023-12-28T03:11:06","modified_gmt":"2023-12-28T03:11:06","slug":"cassandra","status":"publish","type":"glossary","link":"https:\/\/proxyelite.info\/vi\/glossary\/cassandra\/","title":{"rendered":"Cassandra"},"content":{"rendered":"<p>Cassandra l\u00e0 m\u1ed9t h\u1ec7 th\u1ed1ng qu\u1ea3n l\u00fd c\u01a1 s\u1edf d\u1eef li\u1ec7u NoSQL ph\u00e2n t\u00e1n \u0111\u00e3 tr\u1edf n\u00ean v\u00f4 c\u00f9ng ph\u1ed5 bi\u1ebfn trong nh\u1eefng n\u0103m g\u1ea7n \u0111\u00e2y nh\u1edd kh\u1ea3 n\u0103ng m\u1edf r\u1ed9ng \u0111\u1eb7c bi\u1ec7t, kh\u1ea3 n\u0103ng ch\u1ecbu l\u1ed7i v\u00e0 t\u00ednh linh ho\u1ea1t c\u1ee7a n\u00f3. Trong b\u00e0i vi\u1ebft n\u00e0y, ch\u00fang t\u00f4i \u0111i s\u00e2u v\u00e0o Cassandra, kh\u00e1m ph\u00e1 c\u00e1c t\u00ednh n\u0103ng ch\u00ednh, lo\u1ea1i, tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng, th\u00e1ch th\u1ee9c v\u00e0 m\u1ee9c \u0111\u1ed9 li\u00ean quan c\u1ee7a n\u00f3 khi k\u1ebft h\u1ee3p v\u1edbi m\u00e1y ch\u1ee7 proxy.<\/p>\n<h2>Th\u00f4ng tin t\u00f3m t\u1eaft v\u1ec1 Cassandra<\/h2>\n<p>Cassandra l\u00e0 m\u1ed9t h\u1ec7 th\u1ed1ng c\u01a1 s\u1edf d\u1eef li\u1ec7u ph\u00e2n t\u00e1n, m\u00e3 ngu\u1ed3n m\u1edf, hi\u1ec7u su\u1ea5t cao, c\u00f3 t\u00ednh s\u1eb5n s\u00e0ng cao v\u00e0 \u0111\u01b0\u1ee3c ph\u00e1t tri\u1ec3n ban \u0111\u1ea7u b\u1edfi Facebook. N\u00f3 \u0111\u01b0\u1ee3c thi\u1ebft k\u1ebf \u0111\u1ec3 x\u1eed l\u00fd kh\u1ed1i l\u01b0\u1ee3ng l\u1edbn d\u1eef li\u1ec7u tr\u00ean nhi\u1ec1u m\u00e1y ch\u1ee7 th\u00f4ng th\u01b0\u1eddng m\u00e0 kh\u00f4ng c\u00f3 m\u1ed9t \u0111i\u1ec3m l\u1ed7i n\u00e0o. Ki\u1ebfn tr\u00fac c\u1ee7a Cassandra d\u1ef1a tr\u00ean c\u00e1c nguy\u00ean t\u1eafc c\u1ee7a h\u1ec7 th\u1ed1ng DynamoDB v\u00e0 Google Bigtable, khi\u1ebfn n\u00f3 tr\u1edf th\u00e0nh l\u1ef1a ch\u1ecdn l\u00fd t\u01b0\u1edfng cho c\u00e1c t\u1ed5 ch\u1ee9c x\u1eed l\u00fd l\u01b0\u1ee3ng d\u1eef li\u1ec7u kh\u1ed5ng l\u1ed3 \u0111\u00f2i h\u1ecfi t\u00ednh s\u1eb5n s\u00e0ng cao v\u00e0 kh\u1ea3 n\u0103ng ch\u1ecbu l\u1ed7i.<\/p>\n<h2>Th\u00f4ng tin chi ti\u1ebft v\u1ec1 Cassandra<\/h2>\n<p>Cassandra \u0111\u01b0\u1ee3c x\u00e2y d\u1ef1ng d\u1ef1a tr\u00ean ki\u1ebfn tr\u00fac ngang h\u00e0ng, ph\u00e2n t\u00e1n, cho ph\u00e9p n\u00f3 ph\u00e2n ph\u1ed1i d\u1eef li\u1ec7u tr\u00ean nhi\u1ec1u n\u00fat m\u1ed9t c\u00e1ch li\u1ec1n m\u1ea1ch. N\u00f3 s\u1eed d\u1ee5ng thi\u1ebft k\u1ebf kh\u00f4ng c\u00f3 ch\u1ee7, c\u00f3 ngh\u0129a l\u00e0 t\u1ea5t c\u1ea3 c\u00e1c n\u00fat trong c\u1ee5m \u0111\u1ec1u b\u1eb1ng nhau v\u00e0 kh\u00f4ng c\u00f3 \u0111i\u1ec1u ph\u1ed1i vi\u00ean trung t\u00e2m, lo\u1ea1i b\u1ecf c\u00e1c \u0111i\u1ec3m l\u1ed7i duy nh\u1ea5t v\u00e0 \u0111\u1ea3m b\u1ea3o t\u00ednh s\u1eb5n s\u00e0ng cao.<\/p>\n<h3>Ph\u00e2n t\u00edch c\u00e1c t\u00ednh n\u0103ng ch\u00ednh c\u1ee7a Cassandra<\/h3>\n<p>H\u00e3y \u0111i s\u00e2u v\u00e0o c\u00e1c t\u00ednh n\u0103ng ch\u00ednh khi\u1ebfn Cassandra n\u1ed5i b\u1eadt:<\/p>\n<ol>\n<li>\n<p><strong>Kh\u1ea3 n\u0103ng m\u1edf r\u1ed9ng tuy\u1ebfn t\u00ednh<\/strong>: Cassandra c\u00f3 th\u1ec3 m\u1edf r\u1ed9ng quy m\u00f4 theo chi\u1ec1u ngang b\u1eb1ng c\u00e1ch th\u00eam nhi\u1ec1u n\u00fat h\u01a1n v\u00e0o c\u1ee5m, \u0111\u1ea3m b\u1ea3o n\u00f3 c\u00f3 th\u1ec3 x\u1eed l\u00fd kh\u1ed1i l\u01b0\u1ee3ng c\u00f4ng vi\u1ec7c ng\u00e0y c\u00e0ng t\u0103ng m\u1ed9t c\u00e1ch d\u1ec5 d\u00e0ng.<\/p>\n<\/li>\n<li>\n<p><strong>T\u00ednh s\u1eb5n s\u00e0ng cao<\/strong>: D\u1eef li\u1ec7u \u0111\u01b0\u1ee3c sao ch\u00e9p tr\u00ean nhi\u1ec1u n\u00fat, \u0111\u1ea3m b\u1ea3o r\u1eb1ng ngay c\u1ea3 khi m\u1ed9t n\u00fat b\u1ecb l\u1ed7i, d\u1eef li\u1ec7u v\u1eabn c\u00f3 th\u1ec3 truy c\u1eadp \u0111\u01b0\u1ee3c t\u1eeb c\u00e1c b\u1ea3n sao kh\u00e1c.<\/p>\n<\/li>\n<li>\n<p><strong>Kh\u00f4ng c\u00f3 \u0111i\u1ec3m th\u1ea5t b\u1ea1i duy nh\u1ea5t<\/strong>: Ki\u1ebfn tr\u00fac phi t\u1eadp trung c\u1ee7a Cassandra gi\u00fap lo\u1ea1i b\u1ecf nguy c\u01a1 x\u1ea3y ra l\u1ed7i \u1edf m\u1ed9t \u0111i\u1ec3m duy nh\u1ea5t, n\u00e2ng cao kh\u1ea3 n\u0103ng ch\u1ecbu l\u1ed7i c\u1ee7a n\u00f3.<\/p>\n<\/li>\n<li>\n<p><strong>T\u00ednh nh\u1ea5t qu\u00e1n c\u00f3 th\u1ec3 \u0111i\u1ec1u ch\u1ec9nh<\/strong>: Cassandra cho ph\u00e9p ng\u01b0\u1eddi d\u00f9ng \u0111\u1ecbnh c\u1ea5u h\u00ecnh m\u1ee9c \u0111\u1ed9 nh\u1ea5t qu\u00e1n c\u1ee7a d\u1eef li\u1ec7u \u0111\u1ec3 \u0111\u00e1p \u1ee9ng c\u00e1c y\u00eau c\u1ea7u c\u1ee5 th\u1ec3, t\u1ea1o s\u1ef1 c\u00e2n b\u1eb1ng gi\u1eefa t\u00ednh kh\u1ea3 d\u1ee5ng v\u00e0 t\u00ednh nh\u1ea5t qu\u00e1n.<\/p>\n<\/li>\n<li>\n<p><strong>M\u00f4 h\u00ecnh d\u1eef li\u1ec7u linh ho\u1ea1t<\/strong>: N\u00f3 h\u1ed7 tr\u1ee3 m\u00f4 h\u00ecnh d\u1eef li\u1ec7u linh ho\u1ea1t, cho ph\u00e9p ng\u01b0\u1eddi d\u00f9ng l\u01b0u tr\u1eef d\u1eef li\u1ec7u c\u00f3 c\u1ea5u tr\u00fac, b\u00e1n c\u1ea5u tr\u00fac ho\u1eb7c kh\u00f4ng c\u1ea5u tr\u00fac.<\/p>\n<\/li>\n<\/ol>\n<h3>C\u00e1c lo\u1ea1i Cassandra<\/h3>\n<p>Cassandra cung c\u1ea5p c\u00e1c lo\u1ea1i kh\u00e1c nhau ph\u00f9 h\u1ee3p v\u1edbi c\u00e1c tr\u01b0\u1eddng h\u1ee3p s\u1eed d\u1ee5ng c\u1ee5 th\u1ec3. \u0110\u00e2y l\u00e0 m\u1ed9t s\u1ef1 c\u1ed1:<\/p>\n<table>\n<thead>\n<tr>\n<th>Ki\u1ec3u<\/th>\n<th>S\u1ef1 mi\u00eau t\u1ea3<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Apache Cassandra<\/td>\n<td>Phi\u00ean b\u1ea3n ngu\u1ed3n m\u1edf \u0111\u01b0\u1ee3c duy tr\u00ec b\u1edfi Qu\u1ef9 ph\u1ea7n m\u1ec1m Apache.<\/td>\n<\/tr>\n<tr>\n<td>DataStax Cassandra<\/td>\n<td>Phi\u00ean b\u1ea3n \u0111\u01b0\u1ee3c h\u1ed7 tr\u1ee3 th\u01b0\u01a1ng m\u1ea1i v\u1edbi c\u00e1c t\u00ednh n\u0103ng b\u1ed5 sung d\u00e0nh cho doanh nghi\u1ec7p.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>C\u00e1ch s\u1eed d\u1ee5ng Cassandra<\/h3>\n<p>Cassandra t\u00ecm th\u1ea5y \u1ee9ng d\u1ee5ng trong nhi\u1ec1u t\u00ecnh hu\u1ed1ng kh\u00e1c nhau:<\/p>\n<ul>\n<li>\n<p><strong>D\u1eef li\u1ec7u l\u1edbn<\/strong>: Cassandra l\u00e0 l\u1ef1a ch\u1ecdn ph\u00f9 h\u1ee3p \u0111\u1ec3 qu\u1ea3n l\u00fd c\u00e1c t\u1eadp d\u1eef li\u1ec7u l\u1edbn, khi\u1ebfn n\u00f3 tr\u1edf n\u00ean ph\u1ed5 bi\u1ebfn trong c\u00e1c l\u0129nh v\u1ef1c nh\u01b0 truy\u1ec1n th\u00f4ng x\u00e3 h\u1ed9i, th\u01b0\u01a1ng m\u1ea1i \u0111i\u1ec7n t\u1eed v\u00e0 IoT.<\/p>\n<\/li>\n<li>\n<p><strong>D\u1eef li\u1ec7u chu\u1ed7i th\u1eddi gian<\/strong>: Kh\u1ea3 n\u0103ng x\u1eed l\u00fd th\u00f4ng l\u01b0\u1ee3ng ghi cao khi\u1ebfn n\u00f3 ph\u00f9 h\u1ee3p cho vi\u1ec7c l\u01b0u tr\u1eef d\u1eef li\u1ec7u theo chu\u1ed7i th\u1eddi gian.<\/p>\n<\/li>\n<li>\n<p><strong>Sao ch\u00e9p trung t\u00e2m \u0111a d\u1eef li\u1ec7u<\/strong>: C\u00e1c t\u1ed5 ch\u1ee9c s\u1eed d\u1ee5ng Cassandra \u0111\u1ec3 \u0111\u1ea3m b\u1ea3o t\u00ednh s\u1eb5n c\u00f3 c\u1ee7a d\u1eef li\u1ec7u tr\u00ean c\u00e1c trung t\u00e2m d\u1eef li\u1ec7u ph\u00e2n t\u00e1n v\u1ec1 m\u1eb7t \u0111\u1ecba l\u00fd.<\/p>\n<\/li>\n<\/ul>\n<h3>Nh\u1eefng th\u00e1ch th\u1ee9c v\u00e0 gi\u1ea3i ph\u00e1p<\/h3>\n<p>B\u1ea5t ch\u1ea5p nh\u1eefng \u0111i\u1ec3m m\u1ea1nh c\u1ee7a n\u00f3, Cassandra c\u0169ng c\u00f3 nh\u1eefng th\u00e1ch th\u1ee9c, ch\u1eb3ng h\u1ea1n nh\u01b0:<\/p>\n<ul>\n<li>\n<p><strong>\u0110\u1ed9 ph\u1ee9c t\u1ea1p<\/strong>: Vi\u1ec7c thi\u1ebft l\u1eadp v\u00e0 qu\u1ea3n l\u00fd c\u1ee5m Cassandra c\u00f3 th\u1ec3 ph\u1ee9c t\u1ea1p.<\/p>\n<\/li>\n<li>\n<p><strong>M\u00f4 h\u00ecnh h\u00f3a d\u1eef li\u1ec7u<\/strong>: Thi\u1ebft k\u1ebf m\u1ed9t m\u00f4 h\u00ecnh d\u1eef li\u1ec7u hi\u1ec7u qu\u1ea3 c\u00f3 th\u1ec3 l\u00e0 m\u1ed9t th\u00e1ch th\u1ee9c.<\/p>\n<\/li>\n<\/ul>\n<p>Gi\u1ea3i ph\u00e1p cho nh\u1eefng th\u00e1ch th\u1ee9c n\u00e0y bao g\u1ed3m l\u1eadp k\u1ebf ho\u1ea1ch k\u1ef9 l\u01b0\u1ee1ng v\u00e0 s\u1eed d\u1ee5ng c\u00e1c d\u1ecbch v\u1ee5 Cassandra \u0111\u01b0\u1ee3c qu\u1ea3n l\u00fd.<\/p>\n<h3>\u0110\u1eb7c \u0111i\u1ec3m ch\u00ednh v\u00e0 so s\u00e1nh<\/h3>\n<p>H\u00e3y so s\u00e1nh Cassandra v\u1edbi c\u00e1c thu\u1eadt ng\u1eef t\u01b0\u01a1ng t\u1ef1:<\/p>\n<table>\n<thead>\n<tr>\n<th>\u0111\u1eb7c tr\u01b0ng<\/th>\n<th>Cassandra<\/th>\n<th>MongoDB<\/th>\n<th>HBase<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>M\u00f4 h\u00ecnh d\u1eef li\u1ec7u<\/td>\n<td>C\u1ed9t r\u1ed9ng<\/td>\n<td>T\u00e0i li\u1ec7u<\/td>\n<td>H\u1ecd c\u1ed9t<\/td>\n<\/tr>\n<tr>\n<td>Ng\u00f4n ng\u1eef truy v\u1ea5n<\/td>\n<td>CQL (Ng\u00f4n ng\u1eef truy v\u1ea5n Cassandra)<\/td>\n<td>Truy v\u1ea5n d\u1ef1a tr\u00ean JSON<\/td>\n<td>Ng\u00f4n ng\u1eef truy v\u1ea5n HBase<\/td>\n<\/tr>\n<tr>\n<td>M\u00f4 h\u00ecnh nh\u1ea5t qu\u00e1n<\/td>\n<td>T\u00ednh nh\u1ea5t qu\u00e1n c\u00f3 th\u1ec3 \u0111i\u1ec1u ch\u1ec9nh<\/td>\n<td>T\u00ednh nh\u1ea5t qu\u00e1n m\u1ea1nh m\u1ebd<\/td>\n<td>T\u00ednh nh\u1ea5t qu\u00e1n cu\u1ed1i c\u00f9ng<\/td>\n<\/tr>\n<tr>\n<td>Chia t\u1ef7 l\u1ec7<\/td>\n<td>Chia t\u1ef7 l\u1ec7 theo chi\u1ec1u ngang<\/td>\n<td>Chia t\u1ef7 l\u1ec7 d\u1ecdc<\/td>\n<td>Chia t\u1ef7 l\u1ec7 theo chi\u1ec1u ngang<\/td>\n<\/tr>\n<tr>\n<td>Dung sai l\u1ed7i<\/td>\n<td>C\u00f3 kh\u1ea3 n\u0103ng ch\u1ecbu l\u1ed7i cao<\/td>\n<td>Dung sai l\u1ed7i h\u1ea1n ch\u1ebf<\/td>\n<td>C\u00f3 kh\u1ea3 n\u0103ng ch\u1ecbu l\u1ed7i cao<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Tri\u1ec3n v\u1ecdng t\u01b0\u01a1ng lai<\/h3>\n<p>Cassandra ti\u1ebfp t\u1ee5c ph\u00e1t tri\u1ec3n v\u1edbi nh\u1eefng ph\u00e1t tri\u1ec3n kh\u00f4ng ng\u1eebng trong c\u00e1c l\u0129nh v\u1ef1c nh\u01b0 t\u1ed1i \u01b0u h\u00f3a hi\u1ec7u su\u1ea5t, c\u1ea3i ti\u1ebfn b\u1ea3o m\u1eadt v\u00e0 t\u00edch h\u1ee3p v\u1edbi n\u1ec1n t\u1ea3ng \u0111\u00e1m m\u00e2y. T\u01b0\u01a1ng lai c\u1ee7a Cassandra c\u00f3 v\u1ebb \u0111\u1ea7y h\u1ee9a h\u1eb9n v\u00ec n\u00f3 th\u00edch \u1ee9ng \u0111\u1ec3 \u0111\u00e1p \u1ee9ng nhu c\u1ea7u thay \u0111\u1ed5i c\u1ee7a qu\u1ea3n l\u00fd d\u1eef li\u1ec7u hi\u1ec7n \u0111\u1ea1i.<\/p>\n<h3>M\u00e1y ch\u1ee7 proxy v\u00e0 Cassandra<\/h3>\n<p>M\u00e1y ch\u1ee7 proxy c\u00f3 th\u1ec3 \u0111\u00f3ng m\u1ed9t vai tr\u00f2 quan tr\u1ecdng trong vi\u1ec7c t\u1ed1i \u01b0u h\u00f3a vi\u1ec7c s\u1eed d\u1ee5ng Cassandra theo nhi\u1ec1u c\u00e1ch kh\u00e1c nhau:<\/p>\n<ol>\n<li>\n<p><strong>C\u00e2n b\u1eb1ng t\u1ea3i<\/strong>: M\u00e1y ch\u1ee7 proxy c\u00f3 th\u1ec3 ph\u00e2n ph\u1ed1i c\u00e1c y\u00eau c\u1ea7u \u0111\u1ebfn tr\u00ean c\u00e1c n\u00fat Cassandra, \u0111\u1ea3m b\u1ea3o s\u1eed d\u1ee5ng \u0111\u1ed3ng \u0111\u1ec1u c\u00e1c t\u00e0i nguy\u00ean.<\/p>\n<\/li>\n<li>\n<p><strong>B\u1ea3o v\u1ec7<\/strong>: Proxy c\u00f3 th\u1ec3 ho\u1ea1t \u0111\u1ed9ng nh\u01b0 m\u1ed9t l\u1edbp b\u1ea3o m\u1eadt, b\u1ea3o v\u1ec7 c\u1ee5m Cassandra kh\u1ecfi s\u1ef1 truy c\u1eadp tr\u00e1i ph\u00e9p v\u00e0 c\u00e1c m\u1ed1i \u0111e d\u1ecda ti\u1ec1m \u1ea9n.<\/p>\n<\/li>\n<li>\n<p><strong>B\u1ed9 nh\u1edb \u0111\u1ec7m<\/strong>: B\u1eb1ng c\u00e1ch l\u01b0u v\u00e0o b\u1ed9 nh\u1edb \u0111\u1ec7m d\u1eef li\u1ec7u \u0111\u01b0\u1ee3c truy c\u1eadp th\u01b0\u1eddng xuy\u00ean, proxy c\u00f3 th\u1ec3 gi\u1ea3m t\u1ea3i cho Cassandra, c\u1ea3i thi\u1ec7n hi\u1ec7u su\u1ea5t t\u1ed5ng th\u1ec3 c\u1ee7a h\u1ec7 th\u1ed1ng.<\/p>\n<\/li>\n<\/ol>\n<h2>Li\u00ean k\u1ebft li\u00ean quan<\/h2>\n<p>\u0110\u1ec3 bi\u1ebft th\u00eam th\u00f4ng tin v\u1ec1 Cassandra, h\u00e3y xem x\u00e9t kh\u00e1m ph\u00e1 c\u00e1c t\u00e0i nguy\u00ean sau:<\/p>\n<ul>\n<li><a target=\"_new\" rel=\"noopener\">Trang web ch\u00ednh th\u1ee9c c\u1ee7a Apache Cassandra<\/a><\/li>\n<li><a target=\"_new\" rel=\"noopener\">T\u00e0i li\u1ec7u DataStax Cassandra<\/a><\/li>\n<\/ul>\n<p>T\u00f3m l\u1ea1i, c\u00e1c t\u00ednh n\u0103ng v\u00e0 kh\u1ea3 n\u0103ng m\u1ea1nh m\u1ebd c\u1ee7a Cassandra khi\u1ebfn n\u00f3 tr\u1edf th\u00e0nh m\u1ed9t c\u00f4ng c\u1ee5 v\u00f4 gi\u00e1 cho c\u00e1c t\u1ed5 ch\u1ee9c gi\u1ea3i quy\u1ebft c\u00e1c nhu c\u1ea7u qu\u1ea3n l\u00fd d\u1eef li\u1ec7u chuy\u00ean s\u00e2u. Khi k\u1ebft h\u1ee3p v\u1edbi m\u00e1y ch\u1ee7 proxy, n\u00f3 c\u00e0ng tr\u1edf n\u00ean m\u1ea1nh m\u1ebd h\u01a1n, \u0111\u1ea3m b\u1ea3o x\u1eed l\u00fd d\u1eef li\u1ec7u hi\u1ec7u qu\u1ea3, an to\u00e0n v\u00e0 \u0111\u00e1ng tin c\u1eady.<\/p>","protected":false},"featured_media":579719,"menu_order":0,"template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"class_list":["post-579718","glossary","type-glossary","status-publish","has-post-thumbnail","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/proxyelite.info\/vi\/wp-json\/wp\/v2\/glossary\/579718","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/proxyelite.info\/vi\/wp-json\/wp\/v2\/glossary"}],"about":[{"href":"https:\/\/proxyelite.info\/vi\/wp-json\/wp\/v2\/types\/glossary"}],"version-history":[{"count":0,"href":"https:\/\/proxyelite.info\/vi\/wp-json\/wp\/v2\/glossary\/579718\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/proxyelite.info\/vi\/wp-json\/wp\/v2\/media\/579719"}],"wp:attachment":[{"href":"https:\/\/proxyelite.info\/vi\/wp-json\/wp\/v2\/media?parent=579718"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}