当前位置: 首页 > news >正文

重庆sem网站推广做网站对象存储

重庆sem网站推广,做网站对象存储,济宁网站建设公司,江西省城乡和住房建设厅网站目录 一#xff0e;数据库的部署与配置 二#xff0e;使用命令访问数据库 三#xff0e;数据库的设计 四#xff0e;编程实现数据库的访问 一#xff0e;数据库的部署与配置 1.在单个节点上对进行数据库的单机部署 #xff08;1#xff09;下载apache-cassandra-4.1.7-… 目录 一数据库的部署与配置 二使用命令访问数据库 三数据库的设计 四编程实现数据库的访问 一数据库的部署与配置 1.在单个节点上对进行数据库的单机部署 1下载apache-cassandra-4.1.7-bin.tar.gz上传到hadoop1 的/export/software目录 2使用解压缩命令tar -xzf /export/software/apache-cassandra-4.1.7-bin.tar.gz -C /export/servers/ 进行解压缩到/export/servers目录 3使用cd /export/servers命令进入/export/servers目录 4将Cassandra目录进行重命名mv apache-cassandra-4.1.7 apache-cassandra-4.1.7-standalone 5启动Cassandrabin/cassandra -R 6查看Cassandra启动信息tail -f logs/system.log 7检查状态bin/nodetool status 8连接数据库bin/cqlsh 9关闭Cassandrabin/nodetool stopdaemon 2.在多个节点上实现数据库的分布式部署 1在Hadoop1、Hadoop2和Hadoop3上分别执行systemctl stop firewalld和systemctldisable firewalld命令关闭防火墙 2在Hadoop1、Hadoop2、Hadoop3上分别执行ssh-keygenssh-copy-id hadoop1ssh-copy-id hadoop2ssh-copy-id hadoop3使各个节点可以免密登录 注在Hadoop2和Hadoop3上的执行结果与Hadoop1几乎相同故不再展示。 3进行免密登录测试在Hadoop1、Hadoop2和Hadoop3上分别执行ssh hadoop1ssh hadoop2ssh hadoop3可以免密登录即可 注在Hadoop2和Hadoop3上的执行结果与Hadoop1几乎相同故不再展示。 4在Hadoop1、Hadoop2和Hadoop3上分别上传压缩安装包 5在Hadoop1、Hadoop2和Hadoop3上分别解压缩apache-cassandra-4.1.7-bin.tar.gztar -xzf /export/software/apache-cassandra-4.1.7-bin.tar.gz -C /export/servers/ 6分别修改Hadoop1、Hadoop2和Hadoop3的cassandra.yaml文件中的seeds、listen_address和rpc_address具体修改如下 Hadoop1seeds192.168.121.160listen_address192.168.121.160rpc_address192.168.121.160 Hadoop1seeds192.168.121.160listen_address192.168.121.161rpc_address192.168.121.161 Hadoop1seeds192.168.121.160listen_address192.168.121.162rpc_address192.168.121.162 注因修改过程类似此处只展示Hadoop1节点上的修改结果。 7在Hadoop1、Hadoop2和Hadoop3上使用命令分别启动Cassandra bin/cassandra -R 8查看运行状态bin/nodetool status 9连接任一服务器均可bin/cqlsh hadoop1bin/cqlsh hadoop2bin/cqlsh hadoop3 二使用命令访问数据库 练习Cassandra的相关命令。 1.键空间创建、删除和查看键空间 1创建并查看键空间 CREATE KEYSPACE IF NOT EXISTS library_system WITH REPLICATION { class : SimpleStrategy, replication_factor : 1 }; DESCRIBE KEYSPACES; 2删除并再次查看键空间 DROP KEYSPACE IF EXISTS library_system; DESCRIBE KEYSPACES; 2.表创建表、设置复合型主键、修改表结构要求复合主键要包括分区键和分簇键数据类型要包含两种以上的集合类型和一种以上的自定义类型 以图书管理系统为例进行如下操作 1创建表包含复合型主键 在图书管理系统中我们设计一个图书借阅记录表复合主键由 book_id 和 borrower_id 组成分区键使用 book_id集群键使用 borrower_id。还使用了集合类型SET存储借阅的日期以及自定义类型user_info来存储借阅人的信息。 语句如下 CREATE TYPE IF NOT EXISTS library_system.user_info ( name TEXT, email TEXT, phone_number TEXT ); CREATE TABLE IF NOT EXISTS library_system.book_borrowing ( book_id UUID,              -- 分区键 borrower_id UUID,          -- 集群键 borrow_date DATE,          -- 借阅日期 return_date DATE,          -- 归还日期 status TEXT,               -- 状态如 已借出、已归还 tags SETTEXT,            -- 标签如 热门、推荐等 borrower_info FROZENuser_info,  -- 自定义类型借阅人信息 PRIMARY KEY (book_id, borrower_id)  -- 复合主键 ); 其中book_id是分区键borrower_id 是集群键tags 是集合类型用来存储书籍标签borrower_info 是自定义类型 user_info用于存储借阅人的信息。 2修改表结构 添加一个新列来记录图书的借阅次数。 语句如下 ALTER TABLE library_system.book_borrowing ADD borrow_count INT; 3.数据查询  1查询所有数据 SELECT * FROM library_system.book_borrowing; 2根据分区键查询 SELECT * FROM library_system.book_borrowing WHERE book_id 3796171a-9a3d-45e6-8886-42601fed5c04; 3根据分区键和集群键查询 SELECT * FROM library_system.book_borrowing WHERE book_id  b8cdcddb-4b1e-4937-83cd-dbfbf5288671 AND borrower_id b36f25ca-082c-4ded-afc9-6675eda47cd4; 4查询特定列 SELECT book_id, borrow_date, return_date FROM library_system.book_borrowing WHERE book_id b8cdcddb-4b1e-4937-83cd-dbfbf5288671 AND borrower_id b36f25ca-082c-4ded-afc9-6675eda47cd4; 5查询集合类型数据 SELECT tags FROM library_system.book_borrowing WHERE book_id b8cdcddb-4b1e-4937-83cd-dbfbf5288671 AND borrower_id b36f25ca-082c-4ded-afc9-6675eda47cd4; 6查询自定义类型数据 SELECT borrower_info FROM library_system.book_borrowing WHERE book_id b8cdcddb-4b1e-4937-83cd-dbfbf5288671 AND borrower_id b36f25ca-082c-4ded-afc9-6675eda47cd4; 4.数据更新数据插入、数据更新、数据删除 1数据插入 INSERT INTO library_system.book_borrowing (book_id, borrower_id, borrow_date, return_date, status, tags, borrower_info) VALUES (uuid(), uuid(), 2024-01-01, 2024-01-15, Borrowed, {Popular, New Release}, {name: John Doe, email: johndoeexample.com, phone_number: 1234567890}); 2数据更新 UPDATE library_system.book_borrowing SET return_date 2024-01-20, status Returned WHERE book_id b8cdcddb-4b1e-4937-83cd-dbfbf5288671 AND borrower_id b36f25ca-082c-4ded-afc9-6675eda47cd4; 3数据删除 ①删除单条数据 DELETE FROM library_system.book_borrowing WHERE book_id b8cdcddb-4b1e-4937-83cd-dbfbf5288671 AND borrower_id b36f25ca-082c-4ded-afc9-6675eda47cd4; ②删除整张表 TRUNCATE library_system.book_borrowing; 三数据库的设计 图书管理系统包含三个主要实体图书、读者和借阅记录。它们之间通过一个关系来进行联系借阅记录表示图书与读者之间的借阅关系本系统共设计三张表分别是图书表存储图书的相关信息、借阅记录表存储借阅的记录和读者表存储读者的基本信息。 1.数据库设计 1图书表 表名Books 列族Column Families info存储图书的基本信息 author存储作者的详细信息 publisher存储出版商的信息 行键设计 行键book_id唯一标识每本图书 列名与存储内容 在info列族下 title书名 category类别如科幻、文学等 published_date出版日期 在author列族下 name作者名称 birth_date作者出生日期 在publisher列族下 publisher_name出版商名称 publisher_address出版商地址 2读者表 表名Readers 列族Column Families info存储读者的基本信息 contact存储读者的联系信息例如地址、电话 行键设计 行键reader_id唯一标识每个读者 列名与存储内容 在info列族下 reader_name读者姓名 dob出生日期 在contact列族下 email电子邮件地址 phone_number电话号 address家庭住址 3借阅记录表 表名BorrowRecords 列族Column Families info存储借阅信息 reader存储读者信息 行键设计 行键borrow_id唯一标识每次借阅记录 列名与存储内容 在info列族下 book_id借阅的图书ID borrow_date借阅日期 return_date归还日期 在reader列族下 reader_name读者姓名 reader_id读者ID 4实体和关系的增删改查 ①新增操作 新增图书向Books表中插入新的行包含图书ID行键及其对应的列族和列名。 新增借阅记录向BorrowRecords表中插入新的行包含借阅记录ID行键、借阅图书ID、借阅日期、归还日期、读者信息等。 新增读者向Readers表中插入新的行包含读者ID行键、姓名、出生日期、联系信息等。 ②删除操作 删除图书通过图书ID删除Books表中的记录。 删除借阅记录通过借阅记录ID删除BorrowRecords表中的记录。 删除读者通过读者ID删除Readers表中的记录。 ③更新操作 更新图书信息可以根据图书ID行键来更新Books表中的某些列比如更新书名、作者或出版日期等。 更新借阅记录可以根据借阅记录ID行键来更新借阅日期或归还日期等。 更新读者信息可以根据读者ID行键来更新Readers表中的读者姓名、地址、电话等。 ④查询操作 查询某本图书的详细信息通过book_id查询Books表中的详细信息。 查询某本图书的借阅记录通过book_id在BorrowRecords表中查找所有借阅记录。 查询某位读者的借阅记录通过reader_id在BorrowRecords表中查找该读者的所有借阅记录。 查询某位读者的详细信息通过reader_id查询Readers表中的详细信息。 2.表设计与填充数据 1图书表 行键book_id 列族 列名 列值 B001 info title 《活着》 category 文学 published_date 1993-06-01 author name 余华 birth_date 1960-04-03 publisher publisher_name 作家出版社 publisher_address 北京市朝阳区 B002 info title 《百年孤独》 category 小说 published_date 1967-06-05 author name 加西亚·马尔克斯 birth_date 1927-03-06 publisher publisher_name 南海出版公司 publisher_address 上海市徐汇区 2读者表 行键reader_id 列族 列名 列值 R001 info reader_name 张三 dob 1990-05-15 contract email zhsanemail.com phone_number 123-4567-8901 address 北京市海淀区 R002 info reader_name 李四 dob 2005-02-28 contract email lisiemail.com phone_number 987-6543-2100 address 上海市浦东新区 3借阅记录表 行键borrow_id 列族 列名 列值 BR001 info Book_id B001 Borrow_date 2024-11-01 Return_date 2024-11-15 reader Reader_name 张三 Reader_id R001 BR001 info Book_id B002 Borrow_date 2024-11-02 Return_date 2024-11-20 reader Reader_name 李四 Reader_id R002 四编程实现数据库的访问 使用Python访问实现设计的图书管理系统的列式数据库步骤如下 1数据库连接连接到Cassandra集群并创建数据库library和数据表Books、Readers和BorrowRecords具体代码如下 from cassandra.cluster import Cluster # 连接到 Cassandra 集群 cluster Cluster([192.168.121.160])  虚拟机的 IP 地址 session cluster.connect() # 创建 Keyspacelibrary session.execute( CREATE KEYSPACE IF NOT EXISTS library WITH replication {class: SimpleStrategy, replication_factor: 1} ) # 使用创建的 Keyspace session.execute(USE library) # 创建表结构 # 创建 Books 表 session.execute( CREATE TABLE IF NOT EXISTS Books ( book_id TEXT PRIMARY KEY, title TEXT, category TEXT, published_date TEXT, author_name TEXT, author_birth_date TEXT, publisher_name TEXT, publisher_address TEXT ) ) # 创建 Readers 表 session.execute( CREATE TABLE IF NOT EXISTS Readers ( reader_id TEXT PRIMARY KEY, reader_name TEXT, dob TEXT, email TEXT, phone_number TEXT, address TEXT ) ) # 创建 BorrowRecords 表 session.execute( CREATE TABLE IF NOT EXISTS BorrowRecords ( borrow_id TEXT PRIMARY KEY, book_id TEXT, borrow_date TEXT, return_date TEXT, reader_name TEXT, reader_id TEXT ) ) print(Keyspace and tables created.) 结果如下图所示 2数据增加 分别给三张表插入数据具体代码如下 ①插入图书记录 session.execute( INSERT INTO Books (book_id, title, category, published_date, author_name, author_birth_date, publisher_name, publisher_address) VALUES (%s, %s, %s, %s, %s, %s, %s, %s) , (B001, 《活着》, 文学, 1993-06-01, 余华, 1960-04-03, 作家出版社, 北京市朝阳区)) 结果如下图所示 ②插入读者信息 session.execute( INSERT INTO Readers (reader_id, reader_name, dob, email, phone_number, address) VALUES (%s, %s, %s, %s, %s, %s) , (R001, 张三, 1990-05-15, zhangsanemail.com, 123-4567-8901, 北京市海淀区)) 结果如下图所示 ③插入借阅记录 session.execute( INSERT INTO BorrowRecords (borrow_id, book_id, borrow_date, return_date, reader_name, reader_id) VALUES (%s, %s, %s, %s, %s, %s) , (BR001, B001, 2024-11-01, 2024-11-15, 张三, R001)) 结果如下图所示 3数据更新 更新读者的联系方式具体代码如下 session.execute( UPDATE Readers SET email %s WHERE reader_id %s , (newemailemail.com, R001)) 结果如下图所示 4数据查询 查询book_id为B001图书的详细信息具体代码如下 # 查询某本图书的详细信息 rows session.execute( SELECT * FROM Books WHERE book_id %s , (B001,)) for row in rows: print(row) 结果如下图所示 5数据删除 删除book_id为B001图书的记录 session.execute( DELETE FROM Books WHERE book_id %s , (B001,)) 执行结果如下图所示
http://www.dnsts.com.cn/news/55421.html

相关文章:

  • 欧美色影网站wordpress pdf阅读器
  • wap手机网站开发阿里巴巴1688
  • 简单的企业小网站网站建设工作流程html
  • 武昌网站建设价格多少钱wordpress 仿糗事百科
  • 百度提交入口的注意事项电商沙盘seo优化
  • 关于网站首页建设的文章个人主页的设计
  • 网站手机app开发商标图案设计创意
  • 网站设计赏析邹城网站建设v556
  • 做网站开发实习生怎么样闸北专业做网站
  • 做网站项目后台的做公司网站别人能看到吗6
  • 肥猫网站建设小说网站做封面要钱吗
  • 武安企业做网站推广网络营销题库及答案2020
  • 网站开发制作免费的行情网站app软件大全
  • 做视频网站怎么赚钱的北京网站制作飞沐
  • 网站建设可以入开发成本吗pc端网站转手机站怎么做
  • 深圳松岗做网站的网站流量建设
  • 网站免费申请空间wordpress 文库
  • 自己做的网站提示不安全吗在施工过程中某施工企业的安全
  • 重要的网站建设首航原创网
  • 石林县工程建设个体交易网站app推广的常用方法
  • 道滘镇仿做网站微信公众号二维码
  • 汉口江岸区城市建设局网站专业设计网站有哪些
  • 湖南网站推广建设公司有哪些网站建设论文答辩
  • 网站建设及维护服务技术指标兰州seo公司
  • nginx 网站正在建设中福田欧曼货车
  • 怎么制作网站生成图片土巴兔网站开发方案
  • 邳州哪家做百度推广网站wordpress打造cms
  • 免费微网站开发中小企业网站建设与管理课件百度云
  • 谁家做电商商城网站便宜平湖手机网站设计
  • 建设工程人员锁定网站wordpress固定链接设置文章连续性