dede网站地图怎么做lamp网站开发 pdf
news/
2025/9/27 12:34:23/
文章来源:
dede网站地图怎么做,lamp网站开发 pdf,大型网站的设计,怎么做视频网站的seo为什么80%的码农都做不了架构师#xff1f; 介绍 在本系列的第一篇文章中#xff0c;安装了Node.js、Ignite的Node.js瘦客户端包#xff0c;并且测试了一个示例应用。在本文中#xff0c;可以看一下Ignite在处理其它数据源#xff08;比如关系数据库#… 为什么80%的码农都做不了架构师 介绍 在本系列的第一篇文章中安装了Node.js、Ignite的Node.js瘦客户端包并且测试了一个示例应用。在本文中可以看一下Ignite在处理其它数据源比如关系数据库的已有数据时一个很有用的场景。 通常在行业领域很多系统还有着巨大的商业价值它们必须得到维护甚至加强未被开发的领域已经很少见了。而Ignite可以用于组织中的遗留系统或传统系统以增加它们的价值并提供新的可能性例如具有水平可扩展性的集群计算、显著的内存级性能优势以及使用机器和深度学习的新应用等等。 具体可以看一个示例其中在关系数据库中已经有了一些数据然后了解Ignite如何将该数据缓存到内存中对该内存数据执行SQL操作并将更改回写关系数据库这里将使用一些Node.js代码来访问Ignite并执行一些SQL查询。 已有的数据库系统 本文中使用了MySQL并且其中已经准备好了一个名为world的数据库里面已经加载了部分数据。 这个world数据库的结构为有三张关系表具体如下 country代表世界上的国家239行数据city代表国家的部分城市信息4079行数据countrylanguage各个国家说的语言984行数据。接下来确认MySQL是否已经成功启动并接受外部连接。 Web控制台和Web代理 为了访问MySQL数据库的模式信息需要使用Ignite的Web控制台在本文中为了方便使用的是GridGain托管的服务不过Web控制台的源代码是可以下载的可以在本地构建然后在公司的防火墙后面运行具体细节可以参见相关的文档。 还需要一个Web代理它可以从Web控制台中下载如下图所示 Web代理的zip包下载完成之后可以解压该文件目录结构大致如下图所示 注意这里有个名为jdbc-drivers的目录因为本例需要访问MySQL所以需要下载MySQL的驱动然后将jar文件放在该文件夹中如下图所示 下面从终端窗口中启动Web代理如下 ./ignite-web-agent.sh输出大致如下图所示 从MySQL中导入模式 下面就可以导入模式信息了在Web控制台的Configuration页面中右上角有一个Import from Database按钮如下图所示 点击该按钮之后输出大致如下图所示 在这个界面中需要输入MySQL服务器的JDBC URL、User和Password大致如下图所示 填完之后点击Next这时就会看到各个数据库模式然后把除了world模式之外的都取消掉如下图所示 选好之后点击Next就会看到3张表如下图所示 对于本文来说这页面中的默认值就可以了然后点击Next这会跳到如下图所示的页面 对于本文来说这个页面的默认值就可以然后点击Save 接下来在Configuration页面可以看到列出了一个新的名为ImportedCluster配置项如下图所示 为了满足业务需求这个配置是可以修改的。 修改配置 如果点击上图中的ImportedCluster就会跳转到下面的页面 这个界面中有两个选项卡Basic和Advanced。 在Basic选项卡中集群的配置名第一步如果往下滚动Ignite存储的名字第二步还有其它的若干个参数都可以修改在本例中会维持这个页面中的默认值。 在Advanced选项卡中还有其它的子项包括Cluster、SQL Scheme、Caches、IGFS和GridGain如下图所示如果需要这里面的很多参数都可以微调 这里选择SQL Scheme选项卡选中City这一行如下图所示然后向下滚动并展开Domain model for SQL query部分 这里有一个indexes子项值为CountryCode如果点击它可以进行修改如下图所示 这里将索引名改为idx_country_code然后点击Save按钮。接下来为Countrylanguage重复前图和上图的过程将索引名改为idx_lang_country_code之后保存更改做这些修改可以确保索引名在整个Ignite模式中是唯一的。 下面选择Caches选项卡首先选择CityCache如下图所示然后往下滚动并展开Queries Indexing部分 在Queries Indexing中有一个值为空名为SQL schema name的字段在这里输入PUBLIC后保存变更然后为CountryCache和CountrylanguageCache重复这个过程。 最后返回到Configuration页面选中ImportedCluster然后在Actions下拉框中下载这个工程如下图所示 这时会保存一个名为ImportedCluster-project.zip的文件解压这个文件之后就可以在IDE中通过读取其中的pom.xml文件创建一个新的工程如下图所示 在pom.xml文件中在dependencies下面需要检查一下mysql-connector-java依赖如果缺失需要加一下如下所示 dependencygroupIdmysql/groupIdartifactIdmysql-connector-java/artifactIdversion8.0.15/version
/dependency这里的版本号匹配了之前使用的JDBC驱动的版本号。 在这个工程中在resources文件夹下面有一个名为secret.properties的文件如下图所示 这里需要填入之前使用的JDBC URL、Username和Password然后保存修改。 工程重新构建之后就可以启动一个Ignite服务端节点如下图所示 接下来通过运行LoadCaches可以把MySQL中的数据加载进Ignite存储如下图所示 在Web控制台中转到Monitoring Dashboard Caches可以看到Ignite存储已经创建并且数据也已经成功加载如下图所示 Ignite现在已经运行起来创建了存储并且从MySQL中加载了数据这时就可以通过任意数量不同的接口接入Ignite不过本文会使用Node.js瘦客户端。 Node.js瘦客户端 使用Ignite提供的Node.js版本SQL示例作为模板可以创建若干个Node.js应用然后执行下表中列出的SQL查询完整的Node.js应用代码可以参见GitHub在下面的例子中该Node.js应用在Ignite的Node.js示例文件夹中运行 Q13个人口最多的国家 SELECT name, MAX(population)
AS max_pop FROM country
GROUP BY name, population
ORDER BY max_pop
DESC LIMIT 3Q2US、RUS和CHN中3个人口最多的城市 SELECT country.name, city.name, MAX(city.population)
AS max_pop FROM country
JOIN city ON city.countrycode country.code
WHERE country.code IN (USA,RUS,CHN)
GROUP BY country.name, city.name
ORDER BY max_pop
DESC LIMIT 3Q3更新国家名称 UPDATE country
SET name USA
WHERE name United StatesQ4恢复国家名称 UPDATE country
SET name United States
WHERE name USAQ1的输出如下图所示 Q2比Q1复杂些包含了两个表的关联Q2的输出大致如下图所示 Q3执行了一个更新操作Q3执行完之后Ignite的缓存会被更新并且更新会被回写到MySQL中保持两者之间的同步。可以使用DBeaver确认一下首先在Country表中找到值为United States的行如下图所示 Q3执行完之后刷新一下DBeaver可以看到Name字段的值已经变为USA如下图所示 Q4恢复了原来的值通过执行这个SQL然后刷新一下DBeaver可以进行验证如下图所示 下一步 通过修改和调整Ignite附带的示例可以进一步测试Node.js瘦客户端。此外Web控制台提供了许多选项可用于从现有数据库系统微调和调整模式信息具体可以参见Web控制台的相关文档。 总结 在本文中了解了如何从现有的MySQL数据库系统中获取模式信息并创建一个Ignite工程。这个Ignite工程能够将数据从MySQL服务器复制到Ignite存储然后在该数据中执行查询。从规模上看Ignite可以利用集群计算的强大功能使操作并行化在内存中快速执行查询并进行分析甚至机器和深度学习同时还保留现有系统的商业价值。虽然在本示例中使用了Node.js瘦客户端不过Ignite还支持其它编程语言的瘦客户端。 转载于:https://my.oschina.net/liyuj/blog/3017620
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/919460.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!